Welcome To
Material React TableV2
Built with Material UIV5 and TanStack TableV8
The Best of Both Worlds
Combine TanStack Table's Extensive API With Material UI's Awesome Pre-Built Components!
Efficient Bundle Size
33-47 KB depending on components imported.
Import the recommended MaterialReactTable
component, or optionally import lighter weight MRT sub-components that only include the UI you need.
Pre-Built or 100% Custom
Use the pre-built single component data grid with the <MaterialReactTable />
component.
Or build your own markup from scratch using the useMaterialReactTable
hook.
All internal MRT components are exported for you to use as "lego blocks" to build your own custom tables.
Easy Customization
Just about everything is customizable or overridable in Material React Table. Pass in custom props or styles to all internal components. Use simple enable*
props to easily enable or disable features.
Powerful Features
Material React Table has most of the features you would expect from a modern table library including Pagination, Sorting, Filtering, Row Selection, Row Expansion, Column Resizing, Column Reordering, etc.
However, Material React Table also has advanced features that you may not find in other table libraries such as Virtualization, Aggregation and Grouping, Advanced Filter UIs, Fuzzy Search, Full Editing (CRUD), Column Pinning, Row Numbers, Click to Copy, and more.
30+ i18n Locales
The MRT Community has contributed over 30 Locales for everyone to import and use.
Popular Docs
Props
Basic Example
Advanced Example
Fetching Example
Localization
Create Columns
Column Filtering
Selection
Useful Links
Is <MaterialReactTable /> Right For Your Project?
Let's Compare
Library | Free or Licensed | Bundle Size | Description |
---|---|---|---|
Material React Table | Free MIT | Built on top of TanStack Table V8 and Material UI V5, Material React Table (MRT) is a batteries-included React table library that attempts to provide all the table features you need while trying to stay as highly performant and lightweight as possible. Customization is treated as a top priority to let you override any styles you need to change. Initially built in 2022, so it is still somewhat new. | |
TanStack Table (React Table) | Free MIT | TanStack Table (formerly React Table) is a lightweight Headless UI library for building powerful tables and datagrids. No CSS or components included. You use logic from the useReactTable hook to build your own table components. No batteries included, but you get total control of your markup and styles (Material React Table is built on top of TanStack Table). | |
Material Table | Free MIT | Material Table is a once-popular Material UI table library originally built in 2018 for creating Material UI tables that includes tons of features. However, it has a very large bundle size and contains outdated and insecure dependencies. It is mostly unmaintained now but did recently release a version that was somewhat compatible with Material UI V5. | |
MUI Datatables | Free MIT | MUI Datatables is a solid Material UI-based table library that was originally built in 2017. It has a lot of features and is very customizable. However, it is not as lightweight as MRT and has a lot of dependencies. The library appears to still be kept up to date occasionally, but its documentation site is no longer available. Some of the UI layouts in MUI Datatables served as inspiration for Material React Table. | |
MUI X Data Grid MIT/Pro/Premium | MIT or Paid License | MUI X Data Grid MIT/Pro/Premium is one of the best Material UI Data Grid options available and it comes directly from MUI. It includes the full suite of features you may need but requires a paid license for many of the advanced features. | |
AG Grid Community/Enterprise | MIT or Paid License | AG Grid Community/Enterprise is arguably the best table library of all time, but many of the advanced features require an expensive paid license. It appears to have a very large bundle size, although this is a bit misleading because it is tree-shakable and includes a lot of the UI components in the bundle. It is not built on top of Material UI, but it does follow Material Design, so it is definitely relevant to this comparison. |
Feature Comparison
Feature | Material React Table | Material Table | Material UI X |
---|---|---|---|
Click to copy | ✅ | ❌ | ❌ |
Column Action Dropdown | ✅ | ❌ | ✅ |
Column Hiding | ✅ | ✅ | ✅ |
Column Ordering (DnD) | ✅ | ✅ | ✅ |
Column Pinning (Freezing) | ✅ | ✅ | ✅ |
Column Resizing | ✅ | ✅ | ✅ |
Column Spanning | ❌ | ⚠️ | ✅ |
Column Virtualization | ✅ | ⚠️ | ✅ |
Column/Row Grouping and Aggregation | ✅ | ✅ | ✅ |
Custom Icons | ✅ | ✅ | ✅ |
Customize Toolbars | ✅ | ⚠️ | ✅ |
Data Editing | ✅ | ✅ | ✅ |
Density Toggle | ✅ | ❌ | ✅ |
Detail Panels | ✅ | ✅ | ✅ |
Expanding Rows (Tree Data) | ✅ | ✅ | ✅ |
Export to CSV | ⚠️ | ✅ | ✅ |
Filter Modes | ✅ | ❌ | ✅ |
Filtering | ✅ | ✅ | ✅ |
Fullscreen Mode | ✅ | ❌ | ❌ |
Global Filtering Search | ✅ | ✅ | ✅ |
Header Groups and Footers | ✅ | ❌ | ✅ |
Localization (i18n) | ✅ | ✅ | ✅ |
Manage your own state | ✅ | ❌ | ⚠️ |
Pagination | ✅ | ✅ | ✅ |
Row Action Buttons | ✅ | ✅ | ✅ |
Row Numbers | ✅ | ❌ | ❌ |
Row Ordering (DnD) | ✅ | ❌ | ✅ |
Row Selection | ✅ | ✅ | ✅ |
Sorting | ✅ | ✅ | ✅ |
SSR Compatibility | ✅ | ⚠️ | ✅ |
Theming | ✅ | ✅ | ✅ |
Virtualization | ✅ | ⚠️ | ✅ |
*If you see any inaccuracies in this table, PRs are welcome!