# Infinite Table > Infinite Table is the modern React DataGrid for building enterprise applications. It features sorting, grouping, filtering, pivoting, aggregations, live pagination, lazy loading, keyboard navigation, row/cell selection, editing, theming and much more — with no dependencies besides React. Full docs & blog content in a single file: https://infinite-table.com/llms-full.txt ## Docs - [Infinite Table Documentation](https://infinite-table.com/docs/index.md): Developer Documentation for Infinite Table, your go-to React DataGrid component to handle huge amounts of data - [Infinite Table DevTools](https://infinite-table.com/docs/devtools.md): Guide on using the Chrome DevTools Extension for the Infinite Table React DataGrid - [Working with Columns](https://infinite-table.com/docs/learn/columns/index.md): Define columns to configure your Infinite Table React DataGrid - fixed and flexible columns, resize, column groups and more - [Column Styling](https://infinite-table.com/docs/learn/columns/cell-and-column-styling.md): Styling columns in the InfiniteTable React DataGrid via both style and className properties. - [Column Groups](https://infinite-table.com/docs/learn/columns/column-grouping.md): Columns can be grouped with multiple levels of nesting thus making Infinite Table DataGrid a powerful tool for data analysts - [Column Headers](https://infinite-table.com/docs/learn/columns/column-headers.md): Configure column headers with custom column header, custom sort icon, menu icon and more. - [Column Menus](https://infinite-table.com/docs/learn/columns/column-menus.md): Columns have menus that allow quick actions - the menus can be customized or hidden altogether. - [Column Order](https://infinite-table.com/docs/learn/columns/column-order.md): Change column order by drag-and-drop - drag columns around and reorder them live - [Column Rendering](https://infinite-table.com/docs/learn/columns/column-rendering.md): Customize column rendering for Infinite Table DataGrid to match your app and use custom components. Column styling and formatting, conditional rendering... - [Column Sorting](https://infinite-table.com/docs/learn/columns/column-sorting.md): Configure column sorting with single and multiple sorting and custom sort functions. Both client-side and server-side sorting is supported - [Column Types](https://infinite-table.com/docs/learn/columns/column-types.md): Column types are blueprints for generalizing column configuration and code reuse. - [Column Sizing](https://infinite-table.com/docs/learn/columns/fixed-and-flexible-size.md) - [Common Issues](https://infinite-table.com/docs/learn/common-issues/index.md): Avoid common pitfalls and issues when using the component. Learn how to use it properly to perform smooth and avoid jank. - [Using Context Menus](https://infinite-table.com/docs/learn/context-menus/using-context-menus.md): InfiniteTable DataGrid allows you to easily configure context menus for any row and cell in the table and for the whole table body. - [Column Editors](https://infinite-table.com/docs/learn/editing/column-editors.md): Learn how to use configure editors for columns in Infinite Table - [Custom Editor](https://infinite-table.com/docs/learn/editing/custom-editor.md): Writing a custom editor for a inline editing in Infinite Table for React - [Excel-like Editing](https://infinite-table.com/docs/learn/editing/excel-like-editing.md): Configuring the DataGrid to use Excel-like editing via keyboard shortcuts - [Inline Editing Flow](https://infinite-table.com/docs/learn/editing/inline-edit-flow.md): Flow chart of inline editing - understand the flow of operations when performing edits in Infinite Table for React - [Editing](https://infinite-table.com/docs/learn/editing/overview.md): Learn how to use inline editing to update your data with Infinite Table for React - [Changing the Data Source](https://infinite-table.com/docs/learn/examples/change-datasource.md) - [Dynamic Pivoting Example](https://infinite-table.com/docs/learn/examples/dynamic-pivoting-example.md) - [Live Updates Example](https://infinite-table.com/docs/learn/examples/live-updates-example.md) - [Performance with Many Rows and Columns](https://infinite-table.com/docs/learn/examples/performance-many-rows-and-columns.md) - [Sparklines Example](https://infinite-table.com/docs/learn/examples/using-sparklines.md) - [Filtering](https://infinite-table.com/docs/learn/filtering/index.md): Learn how to configure client-side and server-side filtering in Infinite Table for React - [Extending existing filters](https://infinite-table.com/docs/learn/filtering/extending-existing-filters.md): Learn how to extend existing filters and filter types for your Infinite Table React DataGrid - [Client-side Filtering](https://infinite-table.com/docs/learn/filtering/filtering-client-side.md): Learn how to configure client-side filtering for your Infinite Table React DataGrid - [Server-side Filtering](https://infinite-table.com/docs/learn/filtering/filtering-server-side.md): Learn how to integrate server-side filtering with your InfiniteTable React DataGrid - [Providing a Custom Filter Editor](https://infinite-table.com/docs/learn/filtering/providing-a-custom-filter-editor.md): Writing a custom filter editor for a column in Infinite Table is straightforward. - [Getting Started](https://infinite-table.com/docs/learn/getting-started/index.md): Get help starting with Infinite Table for React. Our DataGrid component helps with sorting, filtering, row/column grouping, pivoting, aggregations ... - [Licensing Infinite Table](https://infinite-table.com/docs/learn/getting-started/licensing.md): Free Usage and Licensing with Infinite Table - [Getting Started Test](https://infinite-table.com/docs/learn/getting-started/test.md): Get help starting with Infinite Table for React. Our DataGrid component helps with sorting, filtering, row/column grouping, pivoting, aggregations ... - [TypeScript Types](https://infinite-table.com/docs/learn/getting-started/typescript-types.md): Infinite Table types for TypeScript are published as part of the package, as named exports from the root of the package. - [Grouping and Pivoting](https://infinite-table.com/docs/learn/grouping-and-pivoting/index.md) - [Aggregations](https://infinite-table.com/docs/learn/grouping-and-pivoting/group-aggregations.md): Learn how to define & use aggregations on grouped rows in Infinite Table for React. - [Grouping rows](https://infinite-table.com/docs/learn/grouping-and-pivoting/grouping-rows.md) - [Customizing Pivot Columns](https://infinite-table.com/docs/learn/grouping-and-pivoting/pivoting/customizing-pivot-columns.md) - [Pivoting](https://infinite-table.com/docs/learn/grouping-and-pivoting/pivoting/overview.md) - [Keyboard Shorcuts](https://infinite-table.com/docs/learn/keyboard-navigation/keyboard-shortcuts.md): Infinite React DataGrid supports user-friendly keyboard shortcuts for executing custom actions. - [Keyboard Navigation for Table Cells](https://infinite-table.com/docs/learn/keyboard-navigation/navigating-cells.md): Documentation for Cell Keyboard Navigation for your React Infinite Table DataGrid component - [Keyboard Navigation for Table Rows](https://infinite-table.com/docs/learn/keyboard-navigation/navigating-rows.md) - [Master Detail - Caching Detail DataGrid](https://infinite-table.com/docs/learn/master-detail/caching-detail-datagrid.md): Learn how to use master-detail with caching for a better user-experience - [Master Detail - Collapsing and Expanding Rows](https://infinite-table.com/docs/learn/master-detail/collapsing-and-expanding-rows.md): Learn how to use master-detail and configure the state of the row details as expanded or collapsed - [Master Detail with Custom Row Detail Contents](https://infinite-table.com/docs/learn/master-detail/custom-row-detail-content.md): Learn how to use master-detail to customise your row detail contents - [Master Detail](https://infinite-table.com/docs/learn/master-detail/overview.md): Learn how to use master-detail rendering with the React DataGrid - [Disabled Rows](https://infinite-table.com/docs/learn/rows/disabled-rows.md) - [Styling Rows](https://infinite-table.com/docs/learn/rows/styling-rows.md) - [Using Rows at Runtime](https://infinite-table.com/docs/learn/rows/using-row-info.md) - [Cell Selection](https://infinite-table.com/docs/learn/selection/cell-selection.md): InfiniteTable DataGrid component supports single and multiple cell selection. - [Row Selection](https://infinite-table.com/docs/learn/selection/row-selection.md): InfiniteTable DataGrid component supports single and multiple row selection, including checkbox column selection and lazy rows selection - [Multiple Sorting](https://infinite-table.com/docs/learn/sorting/multiple-sorting.md): Docs and examples on applying multiple sorting to the DataSource for Infinite Table DataGrid - [Sorting](https://infinite-table.com/docs/learn/sorting/overview.md): Docs and examples on sorting the DataSource for Infinite Table DataGrid - [Single Sorting](https://infinite-table.com/docs/learn/sorting/single-sorting.md): Docs and examples on single-column sorting for Infinite Table DataGrid - [Theming](https://infinite-table.com/docs/learn/theming/index.md): Read our docs on the available themes and how you can customize the look and feel of InfiniteTable for React. - [CSS Variables](https://infinite-table.com/docs/learn/theming/css-variables.md): Reference list of CSS variables that can be used to style the Infinite Table for React - [Using Tree Data](https://infinite-table.com/docs/learn/tree-grid/overview.md): Learn how to use the Tree DataGrid to display tree data - [Managing the tree column and expand/collapse icon](https://infinite-table.com/docs/learn/tree-grid/tree-column.md): Learn how to render the tree expand/collapse icon and manage the tree column - [Managing the tree expand/collapse state](https://infinite-table.com/docs/learn/tree-grid/tree-expand-and-collapse-state.md): Learn how to control which tree nodes are expanded or collapsed - [Using & rendering tree icons](https://infinite-table.com/docs/learn/tree-grid/tree-icon-rendering.md): Learn how to customize the tree icons - [Using tree selection](https://infinite-table.com/docs/learn/tree-grid/tree-selection.md): Learn how to leverage the tree and specify the tree selection state - [Working with Data](https://infinite-table.com/docs/learn/working-with-data/index.md): Learn how to visualise and manage your data in new ways with Infinite Table - [Handling Date Objects](https://infinite-table.com/docs/learn/working-with-data/handling-dates.md): Learn how to display, manipulate and render dates with Infinite Table - [Lazy Loading](https://infinite-table.com/docs/learn/working-with-data/lazy-loading.md) - [Live Pagination](https://infinite-table.com/docs/learn/working-with-data/live-pagination.md): Live Pagination DataSource documentation and examples for Infinite Table DataGrid - [Updating Data in Real-Time](https://infinite-table.com/docs/learn/working-with-data/updating-data-in-realtime.md) - [Releases](https://infinite-table.com/docs/releases/index.md): All releases | Infinite Table DataGrid for React - [Version 1](https://infinite-table.com/docs/releases/v1.md) ## API Reference - [Reference Overview](https://infinite-table.com/docs/reference/index.md): Infinite Table Reference Overview - [Infinite Table API](https://infinite-table.com/docs/reference/api/index.md) - [Infinite Table Cell Selection API](https://infinite-table.com/docs/reference/cell-selection-api/index.md) - [Infinite Table Column API](https://infinite-table.com/docs/reference/column-api/index.md) - [DataSource API](https://infinite-table.com/docs/reference/datasource-api/index.md) - [DataSource Props](https://infinite-table.com/docs/reference/datasource-props/index.md): Props Reference page for your DataSource in Infinite Table - with complete examples - [Error Codes](https://infinite-table.com/docs/reference/error-codes.md): Infinite Table Error Codes - [Infinite Table Hooks](https://infinite-table.com/docs/reference/hooks/index.md): Hooks Reference page for Infinite Table - with complete examples - [Infinite Table Props](https://infinite-table.com/docs/reference/infinite-table-props.md): Infinite Table Props Reference page with complete examples - [Infinite Table Keyboard Navigation API](https://infinite-table.com/docs/reference/keyboard-navigation-api/index.md) - [Infinite Table Row Details API](https://infinite-table.com/docs/reference/row-detail-api/index.md) - [Infinite Table Row Selection API](https://infinite-table.com/docs/reference/row-selection-api/index.md) - [Tree API](https://infinite-table.com/docs/reference/tree-api/index.md) - [Infinite Table Type Definitions](https://infinite-table.com/docs/reference/type-definitions/index.md): TypeScript type definitions for Infinite Table ## Blog - [Blog index](https://infinite-table.com/blog/index.md): all blog posts, most recent first - [Building pivoted React DataGrids with generated columns](https://infinite-table.com/blog/2026/07/10/building-pivoted-react-datagrids-with-generated-columns.md) (2026-07-10): Turn grouped data into cross-tab reports with Infinite Table pivoting, generated columns, custom pivot headers, and total columns. - [Real-time data updates in your React DataGrid](https://infinite-table.com/blog/2026/07/07/real-time-data-updates-with-the-datasource-api.md) (2026-07-07): Use the Infinite Table DataSource API to stream row updates, batch changes, and keep large datasets responsive. - [Debugging your DataGrid performance with custom tracks in Chrome DevTools](https://infinite-table.com/blog/2025/10/20/debugging-your-datagrid-performance-with-custom-tracks-in-chrome-devtools-performance-profiler.md) (2025-10-20): Infinite Table will now add custom tracks to Chrome DevTools performance profiler to help you debug the performance of your DataGrid - [Customizing your DataGrid component with Tailwind CSS](https://infinite-table.com/blog/2025/10/09/customizing-your-datagrid-component-with-tailwind.md) (2025-10-09): Find out how to customize your DataGrid component to fit your app needs, using Tailwind CSS - [Using drag-and-drop to update row grouping via the Grouping Toolbar](https://infinite-table.com/blog/2025/08/16/grouping-toolbar-now-available-in-the-datagrid.md) (2025-08-16): We've enhanced the InfiniteTable DataGrid with a Grouping Toolbar, which allows you to drag and drop columns to group/ungroup - [The First DataGrid with a DevTools Extension](https://infinite-table.com/blog/2025/05/12/the-first-devtools-for-a-datagrid.md) (2025-05-12): We've launched a Chrome DevTools Extension for Infinite Table - [Async Context Menus](https://infinite-table.com/blog/2025/03/20/async-context-menus.md) (2025-03-20): Learn how to use async context menus in Infinite Table. - [shadcn/ui theme available for the InfiniteTable React DataGrid](https://infinite-table.com/blog/2024/10/16/shadcn-ui-theme-available.md) (2024-10-16) - [Flashing column cells in Infinite Table](https://infinite-table.com/blog/2024/10/15/how-do-i-flash-cells.md) (2024-10-15) - [New DataGrid themes available - ocean and balsam](https://infinite-table.com/blog/2024/10/10/new-themes-available.md) (2024-10-10) - [How to configure the DataGrid to maximise screen real estate](https://infinite-table.com/blog/2024/06/18/how-to-configure-datagrid-to-maximise-screen-real-estate.md) (2024-06-18) - [How to use Excel-like editing in your DataGrid](https://infinite-table.com/blog/2024/06/13/how-to-use-excel-like-editing-in-datagrid.md) (2024-06-13) - [Master Detail React DataGrid with Charts](https://infinite-table.com/blog/2024/06/05/master-detail-datagrid-with-charts.md) (2024-06-05) - [A minimalist theme for your favorite React DataGrid](https://infinite-table.com/blog/2024/05/27/minimalist-theme-for-react-datagrid.md) (2024-05-27) - [The best testing strategies for frontends](https://infinite-table.com/blog/2024/04/22/the-best-testing-strategies-for-frontends.md) (2024-04-22) - [The best testing setup for frontends, with Playwright and NextJS](https://infinite-table.com/blog/2024/04/18/the-best-testing-setup-for-frontends-playwright-nextjs.md) (2024-04-18) - [How to use multiple cell selection in the DataGrid](https://infinite-table.com/blog/2024/03/08/how-to-select-cells-and-use-cell-selection.md) (2024-03-08) - [Setting up a master-detail DataGrid with Infinite Table for React](https://infinite-table.com/blog/2024/03/06/setting-up-master-detail-datagrid.md) (2024-03-06) - [Master detail is now available in the Infinite React DataGrid](https://infinite-table.com/blog/2024/02/26/master-detail-now-available-in-react-datagrid.md) (2024-02-26) - [How to customise the DataGrid default sorting](https://infinite-table.com/blog/2024/02/02/how-to-configure-default-sorting.md) (2024-02-02) - [How to customise the DataGrid loading state](https://infinite-table.com/blog/2024/01/23/how-to-customise-datagrid-loading-state.md) (2024-01-23) - [Building a DataGrid with the right tools](https://infinite-table.com/blog/2023/10/05/building-a-datagrid-with-the-right-tools.md) (2023-10-05) - [Infinite Table React DataGrid version 3.0.0 released](https://infinite-table.com/blog/2023/10/02/version-3-0-0.md) (2023-10-02): InfiniteTable DataGrid for React version 3.0.0 brings many small fixes and enhancements, along with a major new feature: cell selection - [Infinite Table DataGrid for React reaches version 2.0.0](https://infinite-table.com/blog/2023/07/14/version-2-0-0.md) (2023-07-14): With version 2.0.0 InfiniteTable DataGrid for React brings lots of fixes and enhancements including support for sorting group columns, better APIs, improved pivoting, smarter column menus and more. - [Using Menus in Infinite Table](https://infinite-table.com/blog/2023/02/16/using-menus-in-infinite-table.md) (2023-02-16): Find out how to use menus in Infinite Table to customise the DataGrid to fit your needs: custom context menus, column menus and more. - [Filtering Data with Infinite Table for React](https://infinite-table.com/blog/2023/01/26/filtering-data-with-infinite-table-for-react.md) (2023-01-26): Learn how to filter data both client-side and server-side with Infinite Table for React - [📣 Infinite Table is Here 🎉](https://infinite-table.com/blog/2023/01/16/infinite-table-is-here.md) (2023-01-16): Infinite Table is ready for prime time. With version 1.0.0 we're releasing a DataGrid that's feature packed and ready to be used in enterprise-grade apps - [Why Another React DataGrid?](https://infinite-table.com/blog/2022/11/08/why-another-datagrid.md) (2022-11-08): Why is another DataGrid needed? A short history of datagrids and why Infinite Table is different - [Quarterly Update - Autumn 2022](https://infinite-table.com/blog/2022/11/01/infinite-table-monthly-update-october-2022.md) (2022-11-01): Infinite Table update for Autumn 2022 - grid menus and new website - [Quarterly Update - Summer 2022](https://infinite-table.com/blog/2022/09/01/infinite-table-monthly-update-august-2022.md) (2022-09-01): Infinite Table update for Summper 2022 - row selection, column rendering, group columns - [Quarterly Update - Spring 2022](https://infinite-table.com/blog/2022/08/01/infinite-table-monthly-update-july-2022.md) (2022-08-01): Infinite Table update for Spring 2022 - [DataGrid Keyboard Navigation](https://infinite-table.com/blog/2022/06/24/navigating-your-datagrid.md) (2022-06-24) - [Infinite Table Beta Launch 🚀](https://infinite-table.com/blog/2022/06/15/infinite-launch-beta.md) (2022-06-15) - [Infinite Table Alpha Launch 🚀](https://infinite-table.com/blog/2021/12/10/infinite-launch.md) (2021-12-10)