compare
Handsontable Alternative, Priced Per Domain
Last updated 9 September 2026
Lattice Grid licenses the domain you ship on: $1,000 once, for however many developers you have. Every figure is on our own pricing page, so you can put it beside theirs and compare what both cost today. Build the whole thing on localhost first, free, with no key and no time limit, and license the domain only when you are ready to ship.
Build on localhost, free See how the pricing compares
No key, no countdown, no sales call.
Nothing is gated. Start there.
The whole grid runs on localhost, free: every feature, no key, no countdown, no sales call. Deploy it somewhere without a key and it still renders everything, with a small trial watermark. So the honest first move is to build the screen, show it to whoever asked for it, and deal with the money afterwards.
Below is a live grid running on this page. Paste a block into it from Excel or Google Sheets and every cell goes through its column's parser and validation on the way in. Type a bad value into Reference, Circuits or Budget and the editor refuses it and stays open on the cell, so a wrong value never quietly commits.
The same grid, any size team
Lattice Grid is $1,000 for the domain, once, for however many people commit to the repository. One licence covers everyone building on that hostname and every application you serve from it, so hiring your twenty-first developer does not change the bill. Add a second hostname and you add a second licence, or take the wildcard and cover every subdomain you will ever stand up.
Every number is published: the tiers, what a licence includes, and what happens when the support year ends are all on our pricing page, with no sales call in the way. Read Handsontable's current figures on their pricing page and compare the two yourself. A price is the thing most likely to have moved since anyone wrote about it, ours included, so the useful comparison is the one you do on the day you buy.
What is worth checking as you compare is the unit each price is attached to. Ours is the hostname you serve from, which is a number you already know and one that does not move when the team does.
A Lattice Grid licence includes one year of support; renewing support is optional, and anything already deployed keeps working either way. Development on localhost is free, with every feature and no key.
If you got here from a renewal quote
If the number on your quote moved because the team moved, the thing that changed is the unit of sale rather than the grid. Per-domain pricing breaks that link: the domain costs the same whether five people or fifty commit to it, and nobody has to count heads to work out what you owe. It is also a number you can check without asking us, because it is published.
Editing is the half that's hard
Reading data is the easy half. Editing is where a grid becomes a product, and it is the ground both of these are built on. Lattice Grid brings the full set:
- Fill handle. Drag a value or a series down a column, the way a spreadsheet-trained user expects.
- Paste from Excel and Google Sheets. Every cell goes through its column's parser and validation on the way in, rather than landing as one opaque string.
- Bulk edits. One value across a whole selection, written in a single operation.
- An editor for every column type. The editor is wired to what the column holds, so a date opens a date picker and a set opens a list.
- Validation that refuses. A bad value does not commit; the editor stays open on the cell with the reason attached.
- One undo stack. One cell or ten thousand, a paste, a fill or a bulk edit all come back as a single step.
The last one is the hardest to add later.
Where they line up, and where they don't
| Capability | Handsontable | Lattice Grid |
|---|---|---|
| Licence unit | See their pricing page 1 | The domain you serve from, unlimited developers |
| Price when the team grows | See their pricing page 1 | Unchanged |
| Cost model | See their pricing page 1 | Paid once, first support year included |
| Spreadsheet-style editing | Strongest in class | Fill handle, paste, bulk edits, one undo stack |
| Formulas your users type | See their docs 2 | Column-referencing formulas, evaluated on commit, plus computed columns that stay in step |
| Row grouping and pivoting | See their docs 2 | Included |
| Charts from grid rows | See their docs 2 | Included, no second library |
| Statistics over the data | See their docs 2 | Median, p95, deviation, column profile |
| Runtime dependencies | See their docs 2 | None |
| Support | See their pricing page 1 | Included for the first year, from the engineers who built it |
1 handsontable.com/pricing. 2 handsontable.com/docs. Their plans and features are theirs to change, so read them at the source rather than through us. Everything in the Lattice Grid column is what this release ships today. Something out of date? Tell us and we will fix it.
Where our formulas stop, said plainly
A user can type = into a cell here and get a real formula:
=quantity * unitPrice, =ROUND(quantity * unitPrice, 2),
=IF(quantity > 10, "bulk", "single"), and functions of your own
alongside the built-in ones. References name columns rather than cell
addresses, so a formula keeps its meaning when the grid is sorted, filtered
or paged, and the expression is parsed rather than run, so nothing a user
types reaches the JavaScript engine.
The boundary is recalculation. A typed formula is evaluated once, when it is committed, and what lands in the cell is a value like any other. For a number that must stay in step with its inputs, you declare a computed column and the grid keeps it current. What you do not get is a sheet that recalculates a chain of cells because one of them changed. If your product is a spreadsheet, buy a spreadsheet engine and be happy. If "we need formulas" turns out to mean "this column is those two multiplied", it moves across cleanly, and the comparison is the table above.
What switching involves
Most teams reading this already run Handsontable in production, so the first question is how many weeks, not the price. The migration is concept to concept: your columns, editors, validators and undo have direct equivalents here. The Coming from Handsontable guide maps each concept across and puts the two setups side by side. The honest way to size it is to rebuild the same screen on localhost against your real data, free, and compare the two before you commit to switching.
Licence questions, answered properly
What counts as a domain?
Every hostname the grid is served from, named on the key. app.example.com and admin.example.com are two domains, licensed separately. Development on localhost is free and never counts. A wildcard such as *.example.com is $10,000 and covers every subdomain, including the ones that do not exist yet.
Do staging, preview and CI need a licence?
No. Staging, preview, QA and CI hosts render the full grid with a small trial watermark and need no key. You license a hostname only when you want the watermark gone, so you pay for what you ship to, not for the places you build and test in.
Is it a subscription?
No. A named domain is $1,000 once, including one year of support, and it does not auto-renew. There is no per-developer fee and no per-application restriction.
What happens when the support year ends?
Updates and support stop until you renew, and renewing is optional. Anything already deployed keeps working. Nothing you shipped goes dark when the support year lapses.
Can I evaluate it before paying?
Yes, on localhost, indefinitely, with every feature and no key. This is not a trial tier or a cut-down build. It is the whole product, so you can build the real editing screen against your real data and decide before you license the domain you deploy on.
Is Lattice Grid a good Handsontable alternative?
Yes for editing depth, row grouping and pivoting, charts drawn from the grid, statistics over the data and per-domain pricing. No if what you need is a sheet that recalculates a chain of cells: a formula typed here is evaluated once when it is committed, and a computed column is what keeps a derived value in step, so a workbook built on cross-cell recalculation does not carry across.
Build it on localhost. Decide afterwards.
Every feature, no key, no time limit. License the domain when you are ready to ship.