OSS TanbouSign in with GitHub

A headless library for composing table sorting, filtering, and pagination without prescribing markup

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
28,474
Primary language
TypeScript
License
MIT
Repository last updated
Oct 4, 2026
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

What Table handles

It builds row models from column definitions and data while registering only the needed features. With the pinned core API, sorting by score descending can feed pagination limited to two rows.

Sources: [1][2][3]

Best fit

Where it fits

It fits interfaces that need custom table markup while managing sorting and pagination as consistent state. Server-owned processing should use the manual modes and provide the total row count explicitly.

Sources: [2][3]

Before adoption

What to verify before adoption

It does not generate final markup or accessibility behavior; the consuming application owns rendering and interaction. Version 9.2.6 requires Node.js 20 or later. GitHub and the fixed LICENSE report MIT.

Sources: [3][4][5]

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. [1]TanStack/table README at 2df4cf3673dc(2026-10-05)
  2. [2]Table official documentation(2026-10-05)
  3. [3]@tanstack/table-core 9.2.6 package source(2026-10-05)
  4. [4]TanStack/table LICENSE at 2df4cf3673dc(2026-10-05)
  5. [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. 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. 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. 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"
Check the official README

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
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?