v0.2 · MIT licensedHeadless core · React · Vanilla · Theme tokens

Spreadsheet muscle.Product taste.Zero enterprise tax.

Yable is a TypeScript-first data table that ships pivot tables, formulas, clipboard, fill handle, undo/redo and async commits in the same MIT package. The features others charge $1,000+/dev/year for — free here, on contact.

04Packages
08Themes shipped
17Formula functions
00Runtime deps
flight-deck.tsxLive
Operator
Desk
Budget
Live
Alice JohnsonEngineer
Engineering$125,000Online
Bob SmithDesigner
Design$95,000Online
Carol WilliamsVP Engineering
Engineering$210,000Online
David BrownProduct Manager
Product$140,000Online
Sort · Filter · Multi-select · Cell edituseTable() →
01Headless Engine

@zvndev/yable-core

Sorting, filtering, formulas, pivot tables, clipboard, tree data.

02React Surface

@zvndev/yable-react

Table primitives, hooks, cell editors, pagination, status bars.

03DOM Renderer

@zvndev/yable-vanilla

Plain-JS rendering for teams that need the engine without React.

04Token Packs

@zvndev/yable-themes

Eight built-in visual systems with light and dark support.

Crown Jewels

Three things every other free table makes you build yourself.

01 · Spreadsheet engine

Formula engine, not a pretty wrapper.

Real tokenizer, AST parser, recursive evaluator with dependency tracking and circular-reference detection. 17 built-in functions including SUM, AVG, IF, CONCAT, POWER, ROUND.

=SUM(B2:B12) * IF(D2 > 100, 1.1, 1)
02 · Pivot tables

Cross-tabulation in MIT.

Row groups, column groups, value aggregation, row + column subtotals, grand totals, dynamic columns. Gated behind paywalls in MUI Premium and AG Grid Enterprise; free here.

rowFields: ["region"]
columnFields: ["quarter"]
valueFields: [{ field: "revenue", aggregation: "sum" }]
03 · Async commits

Optimistic edits that survive failure.

Edit cells, commit batches to a backend, see pending / saved / error states inline, retry failed rows, surface conflicts as typed errors. Built for real product teams.

onCommit: async (patches) => {
  await api.save(patches)
}
Live Demo Deck

The product should sell itself on contact.

This page turns the demo into a proper front door for the package: the table is the hero, the framing is intentional, and every tab proves a different part of the system.

Live Data Surface

Employee ledger with real interaction density.

Search, sort, select, and paginate without leaving the same component tree.

20 rows3 departmentsSelection ready

Click a header to sort. Shift-click to multi-sort.

First Name
Last Name
Email
Age
Department
Role
Salary
Start Date
Status
AliceJohnsonalice@example.com32EngineeringEngineer$125,000Mar 15, 2021Active
BobSmithbob@example.com28DesignDesigner$95,000Jul 1, 2022Active
CarolWilliamscarol@example.com45EngineeringVP Engineering$210,000Jan 10, 2019Active
DavidBrowndavid@example.com35ProductProduct Manager$140,000Nov 20, 2020Active
EveDaviseve@example.com26EngineeringJunior Engineer$85,000Feb 14, 2023Active
FrankMillerfrank@example.com41DesignSenior Designer$130,000Sep 5, 2018Inactive
GraceWilsongrace@example.com30EngineeringEngineer$120,000Jun 30, 2021Active
HenryMoorehenry@example.com38EngineeringEngineering Manager$175,000Apr 22, 2019Active
IvyTaylorivy@example.com29DesignDesigner$100,000Jan 17, 2022Active
JackAndersonjack@example.com33EngineeringData Scientist$145,000Aug 12, 2020Active
Honest Comparison

Yable versus the libraries you already know.

Every cell in the Yable column is verifiable in this repo. No paid tiers, no gated features — the entire library is MIT.

FeatureYableMIT · freeTanStack TableMIT · freeAG Grid CommunityMIT · freeAG Grid Enterprise~$1k+ / dev / yr
Headless core
React components shipped
Cell editing (text, select, checkbox…)
Sorting / filtering / pagination
Pivot tables$
Formula engine$
Clipboard copy / paste / TSV$
Fill handle (linear + geometric)$
Undo / redo with event hooks
Tree data / hierarchical rows$
Async cell commits + retry
8 themed token packs
Row virtualization
Keyboard navigation grid
License$
shipping partial / DIY$ paid tier only not available
Next Step

Ship a table by lunch.

The quickstart walks from zero to a fully interactive Yable table in 11 steps. Each step has copy-paste code that has been booted in a real Next.js app.