ReoGrid ReoGrid Web

ReoGrid Web vs AG Grid vs Handsontable — picking the right grid

· unvell team
ReoGrid Web vs AG Grid vs Handsontable — picking the right grid

“What grid should I use?” is the wrong question. The right question is “what am I actually building?”

There are three serious contenders in the JavaScript grid space: AG Grid, Handsontable, and (we hope) ReoGrid Web. All three render tabular data. All three have React and Vue wrappers. All three are battle-tested. But they were built for different problems, and which one is the right pick depends entirely on which problem you have.

This is a comparison from the ReoGrid team. We will be honest about where the others are stronger, because if you pick the wrong tool you will be unhappy regardless of how good our docs are.


TL;DR — the use-case axis

If you are building…Pick
A data grid — query results, log viewer, admin table — read-heavy, server-paged, with rich filteringAG Grid
A spreadsheet — invoice, budget, report template, configurable form — editable cells, formulas, Excel round-tripReoGrid Web or Handsontable
You need xlsx fidelity (real files in, real files out, styles preserved)ReoGrid Web
You need a permissively-licensed free tier for OSS / personal projectsReoGrid Web Lite or AG Grid Community
You want the most mature DOM-grid ecosystem with the largest team behind itAG Grid Enterprise

The biggest distinction is the first row: AG Grid is a data grid, Handsontable and ReoGrid are spreadsheets. If you guess wrong on this, no amount of feature comparison will save you.


Data grids vs. spreadsheets

A data grid is a way to render a result set. Cells are read-mostly. The interesting features are filtering, grouping, aggregation, server-side pagination, virtualization, and column tools. Editing exists but is secondary. AG Grid is the strongest tool in this category by some distance.

A spreadsheet treats the grid as a document. Cells are read-write equally. The interesting features are formulas with dependency graphs, merged cells across arbitrary rectangles, per-cell styles and borders, conditional formatting, xlsx round-trip, freeze panes, and an Excel-like editing UX (formula references, fill handle, undo/redo of structural changes). ReoGrid Web and Handsontable both target this category.

The reason this matters: a spreadsheet API has to make value semantics, formula evaluation, and document round-trip first-class. A data-grid API has to make query, filter, and column-pinning first-class. The two ergonomics pull in different directions, and a library that tries to be both ends up being mediocre at both.


Feature comparison (honest)

What we cover well, what others cover well. No spin.

ReoGrid WebAG GridHandsontable
Primary use caseSpreadsheetData gridSpreadsheet
RenderingCanvas (one <canvas>)DOM (virtualized)DOM (virtualized)
Cells per row, practical50–500+50–1000+50–300
Rows, practical10,000+ (sweet spot 100–50k)100,000+ with server-side row model10,000+
xlsx import✅ Lite + Pro, full styles/merges/formulasEnterprise add-on, basicCommunity via SheetJS plugin
xlsx export✅ Pro, styles preservedEnterprise add-onCommunity via SheetJS plugin
Formula engine✅ 109 built-in functions, dependency graph❌ (not the use case)✅ via HyperFormula (385 functions)
Merged cells✅ first-class✅ via spanning
Conditional formatting✅ rule-based, xlsx round-trip✅ value formatters / cellClassRules
Cell types (checkbox, dropdown, progress, sparkline)✅ pluggable registry, 8 built-in✅ enterprise + custom renderers
Pivot tables✅ Enterprise
Server-side / infinite row model✅ flagship feature
React wrapper✅ idiomatic event props✅ mature
Vue wrapper✅ idiomatic emits
Bundle size< 300 KB total (incl. formula + xlsx)~1.2 MB Enterprise~500 KB + HyperFormula
Free tierLite (100×26 cap, no export)Community (very generous)Community (commercial use requires license since 13.x)
Commercial license cost$599 (Pro, 3 domains) / $1,100 (Enterprise, 30 domains)Enterprise pricing on request (4-figure annual / dev typical)$1,400 / dev / year (perpetual + 1yr support)
License typePerpetualSubscriptionPerpetual with optional updates

A few footnotes:

  • AG Grid’s free tier is genuinely permissive. AG Grid Community is MIT-licensed and includes everything most apps need. It is the right answer for most read-mostly data-grid use cases regardless of budget.
  • Handsontable’s licensing changed in late 2022. Versions ≥ 13 require a commercial license for commercial use. If you adopted Handsontable years ago, check what version your project is pinned to.
  • The bundle-size column is order-of-magnitude. Real-world bundle depends on which features you tree-shake out. All three tree-shake fairly well; AG Grid Enterprise is the largest because of how many features it bundles.

When ReoGrid Web is the right pick

You want a spreadsheet-shaped UI in the browser, and:

  1. You need real Excel compatibility. Users upload .xlsx files and expect to see them rendered exactly. They download .xlsx files and expect to open them in Excel without “Excel found unreadable content.” We have invested years in xlsx fidelity — including obscure things like conditional sections in number formats, theme colors with tint, outline grouping round-trip, and the Excel serial-date off-by-one bug — because our .NET edition has been doing this for over a decade.
  2. You want a single canvas, not a virtualized DOM tree. Canvas avoids the per-cell DOM cost that bites virtualized grids when you cross-cut with merges, frozen panes, and conditional formatting. See yesterday’s article on 10,000-row canvas rendering.
  3. You want a permissive perpetual license, not a subscription. Pro and Enterprise are one-time purchases with 3 months of support included. Lite is free for any use including commercial — within the 100×26 cell cap.
  4. You want a small footprint. Sub-300KB for the full Pro bundle (formula engine + xlsx I/O + canvas renderer + React/Vue wrappers) is meaningfully smaller than the alternatives once you turn the relevant features on.
  5. You also need a .NET edition. Our .NET WinForms/WPF version has 180,000+ NuGet downloads. xlsx files round-trip between the two editions losslessly. If you have a desktop app and a web app that need to share spreadsheet documents, this is rare.

When ReoGrid Web is not the right pick

Be honest with yourself:

  1. You are building a data grid, not a spreadsheet. If your cells are query results, your filtering is the main feature, and you have 100k+ rows that are streamed from a server, use AG Grid. The spreadsheet metaphor is the wrong shape for that problem.
  2. You need a pivot table builder. We do not have one. AG Grid Enterprise and Handsontable both do.
  3. You need the largest formula library on the market. Handsontable’s HyperFormula has 385 functions. We have 109 — sized for what we believe is the actual Excel-compatibility floor for business documents, but if you need the long tail of statistical or financial functions, HyperFormula’s catalogue is bigger.
  4. You need an infinite/server-side row model. AG Grid’s Enterprise row model is the right tool. We are not in that race.

Migration patterns

If you are currently using Handsontable and find yourself running into the licensing change or wanting xlsx fidelity, the API translation is fairly mechanical:

HandsontableReoGrid Web
new Handsontable(el, { data })createReogrid({ workspace: el })
hot.setDataAtCell(r, c, v)worksheet.cell(r, c).setValue(v)
hot.getDataAtCell(r, c)worksheet.cell(r, c).value
mergeCells: [...]worksheet.range('A1:B2').merge()
cells: (r, c) => ({ className })worksheet.cell(r, c).setStyle({ ... })
formulas: { engine: hf }Built-in — use setCellInput(r, c, '=...')

If you are currently using AG Grid for what is actually a spreadsheet shape (editable cells, formulas, xlsx in/out), you will find the spreadsheet APIs more direct than what you have been doing in AG Grid’s cell editors and valueGetter/valueSetter indirection.


The recommendation

Pick by use case first, then by license terms second. Feature lists are a distant third — all three libraries are mature enough that almost any reasonable thing you want to do is doable.

  • Building a query-results UI? AG Grid Community first; AG Grid Enterprise if you need the server-side row model or pivots.
  • Building an editable spreadsheet document UI? Try ReoGrid Web Lite first (free on npm) — it is a 5-minute install. If the 100×26 cap is your limit, the Pro tier removes it. If you need 385 formula functions or pivot tables specifically, look at Handsontable.

We will keep improving. The v1.2 release post summarises where we are today. The roadmap includes volatile functions (INDIRECT, OFFSET), more cell types, and continued xlsx fidelity work driven by real files you send us.

That closes our launch series. Thank you for reading — and if there is a comparison angle we should add, or a feature we are missing for your use case, tell us.

Related articles

Try ReoGrid Web in your project

Canvas-based Excel-compatible spreadsheet component for React and Vue. Lite is free — start with one npm install.

Stay Updated

Be first to know — get updates as they ship

Get notified of new releases, features, and announcements.
No spam — just updates that matter.