Skip to content

TanStack Table

Headless library for building customizable data tables in TypeScript and JavaScript.TanStack/table

Stars
28.5k
Forks
3.6k
Licence
MIT
Language
TypeScript
Last update
16 days ago
Type
Library

What it is

TanStack Table is a headless library: it handles table logic such as sorting, filtering, grouping, aggregation, row selection and pagination, but ships no visual components. You write the markup and styles yourself, using adapters for React, Vue, Solid, Svelte, Angular and other frameworks. It is used by developers who need a table or data grid they can fully control.

  • Build a sortable, filterable table of records from an API
  • Group rows and show aggregated totals per group
  • Add row selection and pagination to a table you style yourself
  • Connect a table to server-side sorting and paging

Great for

  • Developers building custom data tables in React, Vue, Solid, Svelte or another supported framework
  • Teams that already have a design system and want a table that matches it
  • Apps that need sorting, filtering, grouping or server-side data handling in a table
  • Projects that want a small library they can virtualize for large datasets

Not ideal for

  • People who want a ready-made grid with styling out of the box, since the library provides no UI components
  • Non-developers, because it requires writing code to use
  • Projects that need a fully built-in spreadsheet-style grid with editing features, since the README describes only headless table logic
Step-by-step guide: how to use TanStack TableInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    Clone the repository

    git clone https://github.com/TanStack/table
  2. 2

    Run it

    • Install the adapter package for your framework (the README references @tanstack/react-table as an example)
    • Read the quick start guide at https://tanstack.com/table for your framework
    • Define your columns and data, then create a table instance with the library's hook or function
    • Render the table rows and cells with your own markup and styles
  3. 3

    Get the most out of it

    • Use the optional TanStack Intent CLI (npx @tanstack/intent@latest install) to give an AI coding agent version-matched guidance for the library
    • Use the intent list and intent load commands to browse and inspect available skills
    • Combine with TanStack Virtual for rendering large tables efficiently, as the README mentions virtualization support
    • Use server-side features for sorting, filtering and pagination when data is too large to load at once

Downloads

Strengths

  • Headless design gives full control over markup, styles and behavior
  • Supports many frameworks through one framework-agnostic core
  • MIT licensed with a large community, about 28.5k GitHub stars at time of review

Trade-offs

  • Because it is headless, you must build all the visual parts yourself
  • The README is truncated here, so setup details and version requirements could not be verified
  • Requires JavaScript or TypeScript knowledge to use effectively

How it compares

ProjectStarsTypeLevelUpdatedBest for
table (this)28.5kLibraryintermediate16 days agoDevelopers building custom data tables in React, Vue, Solid, Svelte or another supported framework
zustand58.9kLibrarybeginner15 days agoReact developers who want simpler shared state than Redux
react-sortable-hoc10.9kLibraryintermediate3.2 years agoExisting React projects that already use react-sortable-hoc and need security fixes only
bootstrap-table11.8kLibrarybeginner7 days agoWeb developers already using Bootstrap who need sortable, paginated tables
react-hook-form44.9kLibraryintermediate5 days agoReact developers building forms with several fields
swr32.5kLibraryintermediate21 days agoReact developers who fetch data from APIs in components

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.