On this page
Overview
TanStack Table is a headless library that separates table data processing and state from markup and styling. It supplies sorting, filtering, and pagination models that applications can render with React, Vue, Svelte, or another adapter.
Features and best fit
Hands-on tested within the scope below · Content checked:
Key features
Best fit
Before adoption
9.2.6 / macOS, Node.js 26.7.0, isolated temporary npm project
Executed the pinned @tanstack/table-core API example and verified Grace,Ada; no browser or external service was used.
Official sources
- [1]TanStack/table README at 2df4cf3673dc(2026-10-05)
- [2]Table official documentation(2026-10-05)
- [3]@tanstack/table-core 9.2.6 package source(2026-10-05)
- [4]TanStack/table LICENSE at 2df4cf3673dc(2026-10-05)
- [5]TanStack/table GitHub metadata(2026-10-05)
Supplemental curator note
It suits teams that want reusable table state while retaining their own design. Verify the sorted first page through the core API before selecting a framework adapter.
Try it in 3 steps
- 1
Prepare the pinned core package
Requires Node.js 20 or later and npm. Create a temporary project pinned to table-core 9.2.6.
demo=$(mktemp -d "${TMPDIR:-/tmp}/tanstack-table.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact @tanstack/table-core@9.2.6 - 2
Compose sorting and pagination
Define name and score columns, then compose descending score sorting with a two-row page.
printf '%s\n' 'import {constructTable,createColumnHelper,createPaginatedRowModel,createSortedRowModel,rowPaginationFeature,rowSortingFeature,tableFeatures} from '\''@tanstack/table-core'\''' 'import {storeReactivityBindings} from '\''@tanstack/table-core/store-reactivity-bindings'\''' 'const features=tableFeatures({coreReactivityFeature:storeReactivityBindings(),rowSortingFeature,sortedRowModel:createSortedRowModel(),rowPaginationFeature,paginatedRowModel:createPaginatedRowModel()})' 'const h=createColumnHelper()' 'const table=constructTable({features,data:[{id:'\''ada'\'',name:'\''Ada'\'',score:91},{id:'\''grace'\'',name:'\''Grace'\'',score:98},{id:'\''linus'\'',name:'\''Linus'\'',score:87}],columns:h.columns([h.accessor('\''name'\'',{header:'\''Name'\''}),h.accessor('\''score'\'',{header:'\''Score'\''})]),getRowId:r=>r.id,initialState:{sorting:[{id:'\''score'\'',desc:true}],pagination:{pageIndex:0,pageSize:2}}})' 'console.log(table.getRowModel().rows.map(r=>r.getValue('\''name'\'')).join('\'','\''))' > demo.mjs - 3
Verify the visible rows
Require the first page to contain only Grace and Ada in descending score order.
test "$(node demo.mjs)" = "Grace,Ada"
Growth
Growth trends · Last 30 days
28,474 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 9
- Open PRs
- 28
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- react
- table
- datagrid
- datatable
- grid
- datagrids
- hooks
- sorting
- filtering
- grouping
- pagination
- reactjs
- Stars
- 28,474
- Forks
- 3,587
- Watchers
- 178
- Open issues
- 49
- Contributors
- 457
- Owner type
- Organization
- Primary language
- TypeScript
- License
- MIT
- Repository last updated
- Oct 4, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- shadcn/ui125,122 Stars
2 shared tag(s) · 1 shared category(s) · Same language
copy component source into a project and grow it into your own UI library
TypeScript - Virtual7,128 Stars
5 shared tag(s) · 1 shared category(s) · Same language
A headless virtualizer that calculates only the items near the viewport to reduce rendering work for long lists
TypeScript - TanStack Query50,394 Stars
4 shared tag(s) · 1 shared category(s) · Same language
Manage fetching, caching, refetching, and mutations for remote server state outside local UI-state code
TypeScript - Storybook91,200 Stars
4 shared tag(s) · Same language
capture UI states once and reuse them across docs, interaction tests, and agent tooling
TypeScript - Router15,152 Stars
4 shared tag(s) · Same language
A type-safe React router that connects routes, search parameters, and navigation through one inferred type model
TypeScript - Builder.io SDKs8,863 Stars
4 shared tag(s) · Same language
Connect a hosted visual-development platform to existing React, Vue, Svelte, and other frontends through open SDKs
TypeScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.