GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Blog
  • YouTubeThe official TanStack channel.
  • WorkshopsLive sessions from the maintainers.
  • DiscordReal-time community support.
  • GitHubSource, issues, discussions, and releases.
  • ShowcaseProjects selected by the TanStack team.
  • Community projects
  • TanChatNEW
  • StatsNPM and ecosystem usage data.
  • Merch
  • Support OverviewFind the right support path.
  • PartnersCompanies supporting TanStack.
  • EthosHow we approach open source.
  • TenetsThe values that shape TanStack libraries.

This view

  • Original page
  • New address

GeezerVison is showing tanstack.com — TanStack Table

TanStack

Table

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.

Docs
issue workbench
Search projects and owners
8 rows · 0 selected
Router docsactive98
Query cachereview94
Table filtersshipped91
Virtual listsactive88
page 1 / 2
1.5Btotal downloads40,153,386weekly downloads28,578GitHub 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.

headless ownership

TanStack Table handles

Headless table logic

State
Row processing
Typed APIs

You control

100% of the rendered result

Markup & semantics
Styles & components
Events & interactions

Works with your stack

Use any component library or design system, including your own.

headless logic → your UI

Already using one of these popular component libraries?

Check out our official component library examples.

shadcn/ui + Base UIBase UI exampleshadcn/ui + Radix UIRadix UI exampleHeroUIHeroUI exampleReact AriaAdobe exampleMaterial UIMUI exampleMantineMantine exampleChakra UIChakra UI example

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.

sorting reactivity
<table.Subscribe selector={(state) => state.sorting}>

Move a reactive read to the smallest part of the tree that renders it.

sorting atom→subscription island→UI

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.

client-side row-model pipeline

01

Core

automatic

data to rows

02

Filter

createFilteredRowModel()

column + global

03

Group

createGroupedRowModel()

grouped rows

04

Sort

createSortedRowModel()

ordered rows

05

Expand

createExpandedRowModel()

visible sub-rows

06

Paginate

createPaginatedRowModel()

current page

Each registered stage memoizes its derived work. Unregistered or manual stages pass the previous row model through.

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.

Partners

Gold
CodeRabbitCodeRabbit
RailwayRailway
CloudflareCloudflare
RenderRender
LovableLovable
Silver
SerpApiSerpApi
ClerkClerk
WorkOS
OpenRouterOpenRouter
Bronze
PrismaPrisma
Scarf
OSS Sponsors

Sponsors get special perks like private discord channels, priority issue requests, and direct support!

Become a Sponsor
View Previous Partners
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.