A React data table built for millions of rows
The Syncfusion React Data Grid is a React data table component for displaying, editing, and managing tabular data. It loads millions of records in about a second and includes data binding, inline and dialog editing, sorting, Excel-like filtering, grouping, and aggregation.
The Data Grid uses DOM virtualization to render only the rows currently in view and loads data on demand as users navigate. Paging, infinite scrolling, virtual scrolling, and server-side data processing are supported for large-scale operations.
See every feature working together in one grid
The grid above focuses on handling large datasets. Try Live Demo opens a single grid with everything switched on — sorting, filtering, grouping, editing, selection, and export — so you can see how they behave together.
Runs in-browser. No installation required.
Installation & Quick Start
Follow these three steps to integrate the DataGrid into your React application.
1
Install the DataGrid Package
Install the Syncfusion React DataGrid package by using npm.
npm install @syncfusion/ej2-react-grids --save2
Import the required CSS styles
The following CSS files are available in the ../node_modules/@syncfusion package folder. Add these as references in src/App.css.
@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-calendars/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-notifications/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-react-grids/styles/tailwind3.css';3
Initialize the DataGrid component
Configure and render the React Data Grid by using this code. Define the component in the src/App.tsx file and manage the data source in the src/datasource.ts file. Explore the React Data Grid example to learn more.
import { GridComponent, ColumnsDirective, ColumnDirective } from '@syncfusion/ej2-react-grids';
import { data } from './datasource';
import './App.css';
function App() {
return (
<GridComponent dataSource={data}>
<ColumnsDirective>
<ColumnDirective field="OrderID" headerText="Order ID" width="180" textAlign="Right" ></ColumnDirective>
<ColumnDirective field="CustomerName" headerText="Customer Name" width="150" ></ColumnDirective>
<ColumnDirective field="OrderDate" headerText="Order Date" width="130" format="yMd" textAlign="Right" />
<ColumnDirective field="Freight" width="120" format="C2" textAlign="Right" />
<ColumnDirective field="ShipCountry" headerText="Ship Country" width="150" ></ColumnDirective>
</ColumnsDirective>
</GridComponent>
);
}
export default App;export let data: Object[] = [
{ OrderID: 10248, CustomerName: 'Yang Wang', OrderDate: new Date('2025-06-25'), Freight: 32.38, ShipCountry: 'France' },
{ OrderID: 10249, CustomerName: 'Ana Trujillo', OrderDate: new Date('2025-06-25'), Freight: 11.61, ShipCountry: 'Germany' },
{ OrderID: 10250, CustomerName: 'Antonio Moreno', OrderDate: new Date('2025-07-20'), Freight: 65.83, ShipCountry: 'Brazil' },
{ OrderID: 10251, CustomerName: 'Thomas Hardy', OrderDate: new Date('2025-08-02'), Freight: 41.34, ShipCountry: 'France' },
{ OrderID: 10252, CustomerName: 'Christina Berglund', OrderDate: new Date('2025-08-24'), Freight: 51.3, ShipCountry: 'Belgium' }
];No credit card required.
Why choose the Syncfusion React Data Grid component?
High performance
Render and interact with large datasets smoothly using row and column virtualization. The React Data Grid is optimized for fast loading, scrolling, sorting, filtering, and real-time data updates.
Seamless data binding
Bind data with various local or remote data sources, including JSON, REST APIs, OData, and custom services. Use the built-in data manager to handle querying, data operations, and communication with remote endpoints.
AI-Assisted Development
Build sophisticated grid experiences faster with the Agentic UI Builder and Syncfusion Agent Skills. Generate layouts, column configurations, filtering, CRUD workflows, and dashboard interfaces with minimal manual effort.
Attractive customizable themes
Create a cutting-edge design with built-in themes such as Fluent, Tailwind CSS, Bootstrap, Material, and Fabric. Utilize the online Theme Studio tool to customize themes easily.
Easy export and printing
Export the Data Grid in various file formats, including PDF, Excel, and CSV. Print all the rows, regardless of the number of pages, as well as just the currently viewed page.
Globalization and localization
Users from different locales can use the component by formatting dates, currency, and numbering to suit preferences.
AI-ready Data Grid for faster insights
Our Data Grid comes AI-ready out of the box. Easily extend it with semantic search, anomaly detection, or any other AI operation you need. Get fast answers and smarter data exploration, all in one grid.
-
Semantic search: Plug in your preferred NLP model to let users query with natural phrases, no exact keywords required.
- See how to add semantic search
-
Anomaly detection: Connect an ML service to find unusual trends or errors quickly and keep business on track.
- See how to add anomaly detection
Local and remote data binding
Connect the Data Grid to local and remote data sources, including APIs, JSON, and OData services. Bind data from local collections, web services, and remote endpoints while managing data operations across different sources. Support for flexible data integration helps bring information together within a single data view.


Sorting, filtering, searching
Find and organize records using built-in Sorting, Filtering, and Search features. Sort data in ascending or descending order with Multi Sorting support across multiple columns. Filter options include Excel-like Filtering, Check Box Filtering, Menu Filtering, and Filter Bar, with filter operators for refining results based on application requirements.
Inline editing: create, edit, delete
Manage records with built-in create, edit, and delete operations. Add new records, update existing data, and remove records using Cell Editing, Inline Editing, Dialog Editing, or Batch Editing modes. Support for built-in validation rules and custom validation rules helps maintain data accuracy during data entry and record updates. Server-side CRUD operations are supported for remote data sources.


Row grouping and aggregation
Organize related records and summarize data with built-in grouping and aggregation features. Group records by one or more columns, display caption and footer summaries, and calculate totals, counts, averages, and custom aggregate values. Support for group-level summaries and custom aggregation helps analyze categorized data and review key metrics across datasets.
Row, cell and column selection
Choose rows, cells, and columns through single, multiple, range, and checkbox selection modes. Select and manage records across sorting, filtering, paging, and other data operations with persistent selection support. Selection options help streamline record review, comparison, and data management workflows.


Column customization and resizing
Configure columns with formatting, visibility, sizing, and layout customization options. Resize, reorder, create multi-level headers, apply templates, pin, and show or hide columns to customize data presentation. Support for flexible column layouts helps organize and display information for different data structures and viewing needs.
Row customization and detail rows
Control row appearance and behavior through flexible customization and layout options. Reorder, pin, span, customize rows, adjust row height, and display additional information with detail and row templates. Support for flexible row layouts helps arrange, prioritize, and present records for different data and workflow requirements.


Cell and column templates
Customize Data Grid layouts using templates for columns, rows, headers, and detail views. Display custom content, interactive elements, and expanded record details using column, row, header, and detail templates. Support for flexible layouts helps present information in formats suited to different data and workflows.
Export to Excel, CSV, and PDF
Export Data Grid records to Excel, PDF, and CSV formats or print them directly from the browser. Export grouped records, summaries, and selected data while preserving layouts, formatting, and data structure across generated output. Support for customizable export settings and browser printing helps simplify reporting and data distribution.


Chart integration
Visualize Data Grid records with built-in chart integration features. Create charts from selected records, choose from multiple chart types, and customize chart appearance for analysis and reporting. Export charts as PDF or image files to share insights across datasets.
Theming and appearance
Customize the Data Grid with built-in themes, brand styles, and appearance settings. Apply light and dark themes, customize colors and styles, and create branded experiences with custom themes and sizing modes. Support for flexible theming options helps align data presentation with different design systems and visual preferences.


Adaptive and responsive layout
Adapt Data Grid layouts for mobile devices and smaller screens using responsive and adaptive UI features. Filtering, sorting, searching, and editing interfaces switch to layouts built for touch input and limited screen space. The pager adapts the same way, reshaping its controls as available width narrows so page navigation stays usable on small screens. All grid features work on touch devices with no extra configuration.
Localization and globalization
Adapt the Data Grid for different languages, regions, and cultural preferences. Apply locale-specific formatting for dates, numbers, currencies, and interface content, and switch between languages with dynamic locale updates. Support for localization, globalization, and RTL layouts helps deliver region-specific user experiences.


Web standards
Support accessible data interaction with keyboard navigation, screen readers, and RTL layouts. Include accessibility compliance, touch support, localization capabilities, and built-in protections against common web security threats. Support for accessibility and security standards helps deliver consistent experiences across users, devices, and regions.
Grid interaction & layout features

Row height
Row height is a major factor when displaying records in the viewport. It is easily customizable and can also be set conditionally.

Copy to clipboard
The clipboard allows users to copy data from selected rows or cells into it. The Ctrl+C and Ctrl+Shift+H key combinations copy data with and without headers, respectively.

Context menu
Perform various actions in a Data Grid using the pop-up menu that appears when the cell, header, or pager is right-clicked. In addition to built-in default menu items, custom context menu items can be added.

Width and height
Set the width and height properties to change the size of the Data Grid. When the content overflows the grid element, horizontal and vertical scrollbars will appear. To fill the Data Grid’s parent container, simply set the height and width to 100%.

Stacked headers
Stacked headers allow grouping and visualizing column headers in a stacked manner. The number of columns that can be stacked is unlimited. Perform all Data Grid actions even when the columns are stacked.
AI-assisted development
Build feature-rich React Data Grid experiences faster
Accelerate grid development with Syncfusion AI tools that turn requirements into fully configured datagrid experiences with minimal manual setup.
Agentic UI Builder
Turn prompts into ready-to-use UI screens, layouts, and workflows with Syncfusion React components.
Example Prompt Create an order management dashboard with a datagrid, charts, filters, and export actions.
Agent Skills
Accelerate development with Syncfusion AI Agent Skills for faster implementation and integration.
Example Prompt Generate a React Data Grid with grouping, Excel-style filtering, toolbar actions, and PDF export.
MCP Server
Accelerate development with AI that generates, configures, and troubleshoots component code directly in your IDE.
Example Prompt Show how to bind remote data and enable virtualization in the Syncfusion React Data Grid.
Not sure how to create your first React Data Grid? Our tutorial videos and documentation can help.
I’d love to watch it now I’d love to read it nowFrequently Asked Questions
Why should you choose the Syncfusion React Data Grid?
The Syncfusion React Data Grid offers the following features:
Millions of records load in just a second.
- Mobile-first design that adapts to any resolution.
Flexible data binding with support to use local and remote data sources such as JSON, RESTful services, OData services, and WCF services.
Out-of-the-box, Excel-like filtering and grouping options.
Data exporting options like PDF, CSV, and Excel.
Simple configuration and API.
- Support for all modern browsers.
Expansive learning resources such as demos, documentation, and videos let you get started quickly with the React Data Grid.
Where can I find the Syncfusion React Data Grid demo?
You can find our React Data Grid demo here. It demonstrates how to render and configure the Data Grid.
What is a React Data Grid?
A React data grid is a UI component that displays tabular data in rows and columns inside a React application, with built-in sorting, filtering, pagination, grouping, editing, and selection. Unlike a plain HTML table, it virtualizes rendering, so it can handle very large datasets without slowing the browser.
What are the features of the React Data Grid?
The React Data Grid offers features like sorting, filtering, pagination, editing, aggregates, grouping, exporting to Excel/PDF, column resizing, and virtualization.
How can sorting be implemented in a React Data Grid?
Enable sorting, and users sort a column by clicking its header — each click toggles between ascending and descending. To sort by several columns, also enable multi-sorting; users then hold Ctrl and click additional headers. An initial sort order can be set in code, and sorting can run server-side.
Is real-time data supported in a React Data Grid?
Yes. The grid binds to remote data through DataManager and can reflect live updates from sources such as WebSocket, SignalR, or polling. Methods including setCellValue and setRowData update a single cell or row without re-rendering the whole grid, keeping the UI responsive when data changes frequently.
How do I add a Data Grid in React?
Install the package with npm install @syncfusion/ej2-react-grids, import GridComponent along with ColumnsDirective and ColumnDirective, then render the grid with a dataSource and one column directive per field. Import the theme stylesheet in your CSS. The quick start section above has a complete working example.
Is the Syncfusion React Data Grid responsive?
Yes. Adaptive UI renders the filter, sort, edit, and column chooser dialogs in a full-screen layout suited to small screens, and rows can be rendered vertically rather than horizontally. Touch gestures work by default; the adaptive layout is enabled through the enableAdaptiveUI property.
What is the difference between a React Data Grid and a basic data table?
A basic data table renders rows and columns as static markup. A React data grid adds interaction and data handling on top: sorting, Excel-like filtering, paging, grouping, aggregates, inline editing, selection, and export. It also virtualizes rendering, so it stays responsive with very large record counts.
How do I export React Data Grid data to Excel?
Enable Excel export and call the excelExport method; csvExport and pdfExport work the same way. Filtered and grouped records can be exported so reports reflect the current grid view, and you can choose which columns are included, show hidden columns, and set custom headers and footers.
How do I group rows in a React Data Grid?
Enable grouping, then drag a column header into the group drop area or set the grouped columns in code. Groups expand and collapse, and grouping by several columns builds a multi-level hierarchy. Aggregates — sum, average, count, minimum, and maximum — appear in the group caption, group footer, or grid footer.
Is the Syncfusion React Data Grid free?
A free 30-day trial is available with no credit card required. A free Community License covers companies with under $1 million USD in annual gross revenue, five or fewer developers, and ten or fewer employees, that have never raised more than $3 million USD in outside capital. Other use requires a paid licence.
How do I get started with Syncfusion React Data Grid?
A good place to start would be our comprehensive getting started documentation.
What is a React grid?
“React grid” can mean two things. A React data grid displays and edits tabular records in rows and columns. A React layout grid, such as CSS Grid or react-grid-layout, arranges elements on a page. This page covers the data grid — a component for working with data, not page layout.
How do I enable filtering in the React Data Grid?
Enable filtering on the grid and choose a filter type — filter bar, menu, checkbox, or Excel-like. Filter operators are set through filterSettings.columns, individual columns can customise their own filter options, and for large datasets filtering can run server-side through DataManager adaptors rather than in the browser.
What’s the best way to handle large datasets in a React Data Grid?
Use virtualization. virtual scrolling renders only the rows currently in the viewport, and column virtualization does the same for wide grids. infinite scrolling and paging load data in blocks on demand. For very large sources, server-side data operations run filtering, sorting, and paging on the server instead of the browser.
What are the types of Data Grid available in React?
Syncfusion’s React Data Grid supports basic grid, virtual grid, hierarchical grid, and Excel‑like grid, each optimized for high performance, scalability, and customization.
How do I make cells editable in a React Data Grid?
Enable editing and choose a mode: inline (Normal), dialog, or batch. Columns can define their own editors and validation rules. Clipboard copy and paste move cell data in and out of the grid, and create, update, and delete operations can be persisted to a server through DataManager.
What is an Excel-like grid in React?
An Excel-like grid brings spreadsheet behaviour into a React application: an Excel-like filter dialog with a checkbox list and search box, cell editing, column pinning, aggregate rows in group and grid footers, clipboard copy and paste, and export to Excel. The Syncfusion React Data Grid provides these as built-in features.
How many rows can the React Data Grid handle?
The grid loads millions of records in about a second using row and column virtualization, which renders only the cells currently in view. Performance depends on column count, cell templates, and whether data is bound locally or fetched from a remote service with server-side paging.
Does the React Data Grid support inline editing?
Yes. It supports inline, dialog, and batch editing modes, with cell-level validation and custom editor templates for individual columns. Excel-style copy and paste is supported, so users can move data between the grid and a spreadsheet.
Trusted by the world’s leading companies
Our Customers Love Us
Transform your applications today by downloading our free evaluation version
No credit card required | 3M+ downloads
React Data Grid tutorials and video guides
The React Data Grid tutorial videos and blog posts will guide you in building your first app with React components. They provide problem-solving strategies, describe features and functionalities, announce new feature releases, explain best practices, and showcase example scenarios. Explore our latest posts on our blog and tutorial video channels for React Data Grid updates.
Explore all Syncfusion React components
Explore over 140+ React UI components featuring established, and production-ready controls built for modern web app development.
-
SMART COMPONENTSGRIDSDATA VISUALIZATIONDROPDOWNSFILE VIEWERS & EDITORSBUTTONSINTERACTIVE CHATINPUTSNAVIGATIONFORMSNOTIFICATIONS
Standalone UI SDKs
Integrate the DataGrid, Chart, Scheduler, Gantt, Rich Text Editor, File Manager, and Diagram UI components into applications to enable rich interaction and visualization, delivering a seamless user experience.
Document Solutions
Integrate the PDF Viewer, DOCX Editor, Spreadsheet Editor, and document-processing libraries into the React applications to enable a smooth user experience.