Decision. If you need row grouping, pivot, aggregation, master/detail, range-selection clipboard or styled Excel export, buy — the build case does not close. AG Grid Enterprise is the cheapest ceiling: $999/dev, perpetual, 1 year of updates[1], plus $750 per production deployment if you sub-license to customers[5].
MUI X Premium is the cheapest entry ($599/dev/yr, renewing at 50% off[6]) but its pivot only landed in v9.9.0 and still can't reuse a field[11]. Handsontable at $999/dev/yr is a spreadsheet, not a grid — and its free tier is a non-commercial licence, not open source[14]. TanStack Table ⭐ 28k is free and correct, but grouping + pivot + Excel export on top of it is 25–50 dev-days — more than a 40-seat AG Grid licence costs.
The paywall map
Community/free tiers are not equivalent. AG Grid gives away more of the rendering layer (virtualization, pinning, tree data) and charges for the analytics layer; MUI charges for both, split across two tiers; Handsontable charges for production, full stop.
| Feature | AG Grid Community (MIT) ⭐ 15k |
AG Grid Enterprise |
MUI X Community (MIT) ⭐ 5.8k |
MUI X Pro |
MUI X Premium |
Handsontable (any licence) ⭐ 22k |
TanStack Table (MIT) ⭐ 28k |
|---|---|---|---|---|---|---|---|
| Cell editing | ✓ free | — | ✓ free | — | — | ✓ | ✗ you render it |
| Column pinning | ✓ free | — | ✗ | ✓ Pro | — | ✓ | ✓ state only |
| Row virtualization | ✓ free | — | ✗ | ✓ Pro | — | ✓ | ✗ TanStack Virtual ⭐ 7.0k |
| Tree data | ✓ free | — | ✗ | ✓ Pro | — | ✗ | ✓ expanding model |
| CSV export | ✓ free | — | ✓ free | — | — | ✓ | ✗ ~1 day |
| Row grouping | ✗ | ✓ $999 | ✗ | ✗ | ✓ Premium | ✗ | ✓ row model, no UI |
| Aggregation | ✗ | ✓ $999 | ✗ | ✗ | ✓ Premium | ✗ | ✓ 9 built-in fns |
| Pivoting | ✗ | ✓ $999 | ✗ | ✗ | ✓ Premium ⚠ v9.9.0, panel still "Planned" | ✗ | ✗ no primitive |
| Master / detail | ✗ | ✓ $999 | ✗ | ✓ Pro | — | ✗ | ✗ you render it |
| Range selection + clipboard | ✗ | ✓ $999 | ✗ | ✗ | ✓ Premium | ✓ core selling point | ✗ |
| Excel export (styles/formulas) | ✗ | ✓ $999 | ✗ | ✗ | ✓ Premium | ✗ plugin | ✗ ExcelJS |
| Integrated charts | ✗ | ✓ bundle $1,498 | ✗ | ✗ | ✓ Premium | ✗ | ✗ |
| Server-side row model | ✗ | ✓ $999 | ✗ | ✓ Pro | — | ✗ | ✗ "not many known easy ways" |
AG Grid split[3] · MUI split[12][11] · Handsontable feature set[27] · TanStack grouping/aggregation/server-side[20]. Bundle weight, 2026: 15.0 KB gzip @tanstack/react-table, 120.8 KB @mui/x-data-grid, 330.5 KB ag-grid-community[29].
The single most important row is pivot. It is the only feature with no OSS primitive anywhere in this table — TanStack ships grouping and aggregation for free[20], and TanStack itself points you at AG Grid the moment you need "grouping, pivoting, or a server-side row model"[22].
Real 2026 pricing
| Product | List price | Model | Scope | Renewal | Support |
|---|---|---|---|---|---|
| AG Grid Enterprise | $999 / dev Bundle w/ AG Charts: $1,498 |
Perpetual + 1 yr of updates[1] | Per developer, and the Quote caps Applications / Production Environments / Customers[2] | Not published — contact sales. Key is bound to a version-release cutoff date[4] | Zendesk[1] |
| AG Grid Deployment Licence add-on | $750 SRP per production deployment[5] | Perpetual, 1 yr maintenance | One production environment for one project. A multi-tenant SaaS = one deployment regardless of server count; each on-prem customer site = one deployment[1] | — | — |
| MUI X Pro | $299 / dev / yr or $657 perpetual[7] |
Annual or perpetual; annual keeps perpetual production use of versions shipped before expiry[9] | Per Authorized Developer = max devs touching front-end code simultaneously in any 24h[9] | 50% off if renewed before expiry; 35% within 60 days after; 15% beyond[6] | Priority |
| MUI X Premium | $599 / dev / yr or $1,318 perpetual[8] |
Same | Same | Same → $299/dev/yr effective from yr 2[6] | Premium support |
| MUI X Enterprise | $1,399 / dev / yr[6] | Annual | Same | Same | 1 business-day SLA + CSM[6] |
| Handsontable Standard | $999 / dev[13] | Subscription; perpetual available via sales (1 yr support)[16] | Per developer = anyone touching the source or its UI, not end users[16] | Subscription — stop paying, stop using[16] | 2 tickets/mo, email[13] |
| Handsontable Priority / Enterprise | $1,299 / dev · Enterprise: contact sales[13] | Subscription | Same | Same | 5 tickets/mo + Zoom; Enterprise: unlimited + Slack, 24-mo version support[13] |
| TanStack Table | $0 | MIT | Unlimited devs, apps, deployments | — | GitHub issues |
⚠ Third-party pricing pages are wrong. Competitor-authored "AG Grid pricing 2026" content claims the licence is subscription-only and that "your app's grid features stop working in production" if you stop paying[30]. Both AG Grid's own pricing page[1] and its EULA[2] say perpetual. Price your deal off the vendor's page, not off an SEO comparison post.
Five-dev team, one SaaS product: total cost
| Path | Year 1 | Year 2+ | 5-year total |
|---|---|---|---|
| AG Grid Enterprise + 1 deployment licence | 5 × $999 + $750 = $5,745[1][5] | $0 if you freeze the version; renewal price unpublished | $5,745 floor |
| MUI X Premium, annual | 5 × $599 = $2,995 | 5 × $299 = $1,495 (50% renewal)[6] | $8,975 |
| MUI X Premium, perpetual | 5 × $1,318 = $6,590[8] | $0 (updates lapse) | $6,590 |
| Handsontable Standard | 5 × $999 = $4,995[13] | $4,995 | $24,975 |
| TanStack Table + build the paywalled features | $0 licence + 25–50 dev-days | ~10–20% of build as maintenance | see below |
Build-vs-buy: the dev-day line
The honest comparison is not "TanStack vs AG Grid" — it's "the three features you're actually paying for" vs their cost in engineering. TanStack Table already hands you the grouping row model and nine aggregation functions for free[20], so the gap is narrower than vendors imply. It is still not small.
| What you'd build on TanStack Table | What TanStack gives you | Estimate (senior dev, production-grade, incl. tests + a11y) |
|---|---|---|
| Group rows: expand/collapse, indent, group column, drag-to-group panel, group footers | Grouping row model + aggregation fns[20] | 5–10 d (UI only) |
| Pivot: pivot model, dynamic column generation, nested header groups, value/row/column axes, drag panel | Nothing — no primitive[20] | 15–30 d |
| Excel export with styles, number formats, frozen header, grouped rows | Nothing — ExcelJS (MIT) or SheetJS CE (Apache-2.0) do the file writing[31] | 5–10 d |
| Subtotal for the three headline paywalled features | 25–50 dev-days | |
| Row + column virtualization interacting with pinned columns | Separate lib: TanStack Virtual ⭐ 7.0k[24] | +6–12 d |
| Range selection + Excel-compatible clipboard (TSV round-trip, fill handle) | Nothing | +10–20 d |
| Master/detail, server-side row model ("not many known easy ways"[20]) | Expanding model only | +10–20 d |
These are my estimates, not a sourced benchmark — treat them as a decision aid, not a quote. The only vendor number in the wild: AG Grid claims a pivot-table library it cites ran to ~17,000 LOC and took its lead developer years[28] — vendor content, and it's arguing its own book, but the order of magnitude for a general pivot engine is not absurd. Discount for the fact that you only need your pivot, not everyone's. Apply the HBR 27% average IT overrun that AG Grid itself cites[28] to your own estimate too.
Break-even. At a fully-loaded €600–800/day, 25–50 dev-days = €15k–40k of build, before maintenance. AG Grid Enterprise costs $999/dev perpetual[1]. Buying is cheaper until you have roughly 15–40 developers — and even then you've bought support, upgrades and someone else's pivot bugs. Build only makes sense when:
- You need none of the paywalled features — then TanStack Table ⭐ 28k[23] is strictly better: 15 KB gzip vs 330 KB[29], no key, no audit.
- Your product is a grid, a spreadsheet, an app builder or a UI designer — in which case the commercial licences forbid you anyway (see below), so build is the only path.
- Your pivot is a fixed, known shape (three dimensions, four measures, one layout) rather than a user-configurable engine. That's the 15-day end of the range, not the 30-day end.
The licence traps
Handsontable's free tier is not open source
Handsontable dropped MIT for a bespoke Non-Commercial Licence[17][15]. It permits "research, private study, and evaluation"; in a commercial setting you get evaluation, development and testing only — "you can't enter the production stage if your project is in any way connected with your commercial activity"[14]. Shipping the free build in a commercial product is a licence breach, not a grey area. The blast radius is a paid retro-licence at best and an injunction at worst. ⚠ The same trap sits one layer down: HyperFormula ⭐ 2.7k (Jul 2026), the formula engine behind Handsontable, is GPLv3-or-proprietary[18] — pulling it into a closed-source React app on the GPL branch is a copyleft violation. This bites the "build it ourselves" crowd who reach for HyperFormula to get a formula engine for free.
AG Grid: the developer count is bigger than you think, and deployments cost extra
A "Licensee Developer" is every person developing the JavaScript UI of the application — not just those touching grid code[2]. The Quote also caps Applications, Customers and Production Environments; exceeding them is a breach requiring written notice and additional fees[2]. Sub-licensing to your customers requires a Deployable Licence, and the app "must have substantially different functionality than the Software" — explicitly not "a development toolkit or library, an application builder, a website builder, a user interface designer"[2]. Enforcement is soft: no key → watermark + console warnings, grid still renders[4]. The key is bound to a version-release cutoff date[4], so the perpetual licence is really "perpetual on the versions you paid for".
MUI X: concurrent-developer counting and a no-compete clause
Authorized Developers = the maximum number of devs working simultaneously on the front-end code in any 24-hour window[9], and the docs are blunt: if your shared UI library serves several apps, count every front-end dev across all of them[10]. Art. 8.2 forbids incorporating MUI X into any product that "competes, directly or indirectly" with it, and 8.4 forbids granting third parties an independent right to use it[9]. The upside: annual licences grant perpetual production use of every version released before expiry[9] — lapsing costs you updates, not your app. The licence key is public by design, validated with no network call[10]; an invalid key is a watermark + console warning in dev and production, but end users can keep using the component[10].
Nobody in this market enforces at runtime
All three commercial grids degrade to a watermark, never a kill switch[4][10]. That is a trap in itself: an unlicensed grid works, so it ships, so you find out at the acquisition due-diligence or the enterprise-customer security review. Budget the licence at project start, not at audit.
Picking
| If… | Then | Why |
|---|---|---|
| You need pivot / server-side row model / integrated charts | AG Grid Enterprise $999/dev perpetual | Only mature pivot + SSRM in the set; perpetual means the cost stops[1][3] |
| You need grouping + aggregation + Excel export, already on MUI | MUI X Premium $599 → $299/dev/yr | Cheapest entry; zero design-system friction; pivot is new and still limited[6][11] |
| You need column pinning + virtualization + tree data and nothing analytical | AG Grid Community (MIT, $0) | Those four are free in AG Grid but Pro-gated in MUI[3][12] |
| Users expect a spreadsheet (fill handle, formulas, Excel-grade clipboard) | Handsontable $999/dev/yr — ⚠ commercial licence mandatory | Free tier bars production commercial use[14] |
| Your grid is a list with sorting/filtering/selection, and design control matters | TanStack Table ⭐ 28k, $0 | 15 KB, no licence surface; v9 in beta since Jun 2026[21][29] |
| You're building a grid/spreadsheet/app-builder product | TanStack Table + build | Every commercial EULA here explicitly forbids it[2][9] |
Unresolved, all "contact sales": AG Grid's renewal price after year 1[1], AG Grid volume discounts, Handsontable's perpetual and OEM/redistribution pricing[16], MUI X multi-app terms[6]. No vendor in this market publishes its enterprise/OEM tier — assume a negotiation, and assume the list prices above are ceilings, not floors.