← Default view
Adoption console React table · 2026 Candidates live: 3 Axes audited: 5 Sources: 22 Depth: expedition
The call · read this and stop

Pick TanStack Table. Buy AG Grid the day you need grouping. Everything else has aged out.

Five angles, one axis: what the grid owns versus what you write yourself — and the paywall sits exactly on that line. Not headless-vs-batteries. Not free-vs-paid. Ownership.

◆ Default
⭐ 28k
When your design system is authoritative and your table is a table. You get a headless state machine and you own the rest.
Cost: you own the state machine · stable is v8.21.3, Apr 2025 [1]
◆ Buy-in
⭐ 15k
When you need row grouping, pivot, Excel export or a server-side row model and would rather buy them than spend 25–50 dev-days.
Cost: $999/dev perpetual + its CSS moves in with you [17]
◆ Only if
⭐ 5.8k
Only if you have already adopted MUI. This is a design-system adoption, not a component adoption.
Cost: $299/dev/yr Pro · Tailwind v4 cascade fights [18]
01

The ownership line

where the money is

Read this matrix top to bottom. Above the dashed line, every grid gives you the same things for free. Below it, the free column becomes dev-days you write yourself and the two commercial columns become invoices. The features do not scatter — they sort. The paywall is not a pricing decision the vendors made; it is the ownership line, priced.

Capability HeadlessTanStack Table CommercialAG Grid Design-systemMUI X Data Grid
Sorting & filtering included Community MIT
Pagination included Community MIT
Row virtualization bring your own Community MIT
Markup, DOM & CSS yours entirely theirs · MUI
▲ free above · ▼ paid below — the same line, every vendor
Row grouping you build it
Pivoting you build it
Aggregation you build it
Excel export you build it
Server-side row model manual* opt-outs
the grid owns it, free the grid owns it, you pay you own it — in dev-days Gating per AG Grid licensing [8] and MUI X server-side data [9]
The tell: TanStack's own docs point you at AG Grid when you need grouping, pivoting or a server-side row model [7]. The headless camp concedes the ceiling rather than contesting it — which is as close to a settled answer as this field gets.
02

Audit the verdict — five axes

each one landed on the same line

The expedition attacked the question from five directions. None of them contradicted the others; all five resolved to ownership. Open any axis to check the working.

03

The numbers that actually decide it

not the ones on the pricing page

The usual reason people buy a grid turns out to be the wrong one. Every virtualized grid renders roughly 40 rows regardless of dataset size [10] — so "millions of rows" is a marketing claim, not an engineering axis. What breaks grids is refresh rate and a ceiling no vendor escapes.

33.5M px
Browser scroll cap
17.5M in Firefox. Hard-limits any natively-scrolling grid — canvas included — to ~500k–900k rows. A headless virtualizer doesn't save you [12]. [11]
~10 upd/s
Where MUI X degrades
Unusable on a 400-row window at ten updates per second [13]. AG Grid batches streaming updates outside React entirely [14].
25–50
Dev-days to build it
Grouping + pivot + Excel export, hand-rolled on TanStack Table. The licence is the cheap part.
~40
Devs — the break-even
Below ~40 developers, buying AG Grid Enterprise at $999/dev perpetual beats building [17].
Every published benchmark is vendor-authored and they contradict each other — LyteNyte's numbers [16] and RevoGrid's [15] disagree about whether AG Grid handles 100k rows comfortably or crashes the tab. Benchmark against your own data before believing any of them.
04

Struck from the shortlist

the eight-way race is a three-way race

The comfortable assumption that this is a wide field does not survive contact with the registries. Stars are not liveness.

⭐ 5.3k
Frozen. Last stable release is 6.0.3 — February 2024 [3]. Its own repo concedes the accessibility story is unverified [22].
⭐ 1.1k
Stuck in beta. The v2 line has sat in beta since February 2025; the stable branch is still pinned to Mantine 6 [4].
⭐ 7.7k
No stable v7. And its beta drops React 18 entirely [5].
⭐ 22k
Not open source. The free tier is a non-commercial licence that bars production use in anything connected to commercial activity [6].
Even the presumed-safe default is in motion. TanStack Table's stable latest is still 8.21.3 from April 2025 [1], with v9 in beta since June 2026 [2] — so "adopt TanStack Table" today means adopting a frozen v8 or an unfinished v9.
05

Two traps the pricing page won't show you

both are ownership costs
Owning the state machine bites in unglamorous ways
With manualPagination plus manualFiltering, pageIndex is not reset when filters change — so a user sitting on page 1000 silently gets an empty result set [21]. Headless isn't free; it's deferred.
headlessthe cost of DIY
A grid with opinions drags its CSS in with it
AG Grid at least plumbs your tokens through --ag-* custom properties — while warning that class-level overrides are fragile because its DOM changes each release [19]. MUI X is a design-system adoption, Tailwind v4 cascade-layer fights included [20] ⭐ 96k. The buy decision propagates into your styling layer for years — exactly where it's hardest to reverse.
buythe cost of theirs
● Unresolved — the next thing to close

Accessibility was offered as an angle and left unticked.

It is where the canvas-rendered options quietly fail — Glide's own repository concedes its a11y story is unverified [22] ⭐ 5.3k. If your table is going anywhere near a procurement checklist or a WCAG audit, that gap is the next thing to close — and it may quietly eliminate an option this framework otherwise keeps on the table.

06

The ledger

22 sources
Expedition · 5 angles · 22 sources Canonical page Atlas