fresh
A powerful engine for building Data Grids.
TanStack Table is a headless engine for sorting, pagination, filtering, faceting, grouping, aggregation, row expansion, row and cell selection, cell spanning, row and column pinning, column ordering, visibility, resizing, and more.
issue workbench
Search projects and owners
8 rows · 0 selected
| Router docs | active | 98 | |
| Query cache | review | 94 | |
| Table filters | shipped | 91 | |
| Virtual lists | active | 88 |
page 1 / 2
1.1Btotal downloads22,176,610weekly downloads28,338GitHub stars
Headless by design
Build exactly the table you want with 100% control.
Having 100% control of your code matters more than ever. TanStack Table supplies state and typed APIs without prescribing a single element or style. Use its built-in client-side processing or bring rows processed by your server, then render with any component library or design system, including your own.
Already using one of these popular component libraries?
Check out our official component library examples.
Fine-grained state
Efficient, fine-grained or slicable state updates.
Every registered state slice is backed by TanStack Store, whose fine-grained reactivity is built on alien-signals. Read selected state from table.state, create local subscription islands with table.Subscribe, or hand ownership to an external writable atom when the rest of the app needs it.
Performance architecture
Built for performance and scalability in every aspect.
Features are fully tree-shakable for minimal bundle size. Table logic shares memory-efficient prototypes and uses memoization for fast, low-overhead updates. Need more scale? Offload processing to the server and supply your own rows.
Composition and tooling
Build one table or build your product's table system.
TanStack Table exposes its own architecture as a public toolkit. Extend it with typed features, package shared conventions into reusable table hooks and options, and inspect live instances with dedicated Devtools.
Custom features
tableFeatures({ densityFeature })Add state, options, and APIs through the same extension system used by built-in features.
Reusable tables
createTableHook({ features, ... })Share typed features, options, column helpers, and registered components across a product.
Devtools
useTanStackTableDevtools(table)Inspect table state and derived data in supported framework integrations instead of logging internals.