10 November 2026

The GRID Spreadsheet Benchmark: how close do spreadsheet engines get to Excel?

Hjálmar Gíslason, Gunnlaugur Þór Briem and Steinn Eldjárn Sigurðarson

Every spreadsheet solution will say it is compatible with Excel. Now we can check those claims.

For eight years our job at GRID has been to build a spreadsheet engine that gives the same answer as Excel, because if a model returns different numbers nobody will trust your solution. To make sure we'd earn that trust, we had to build a test rig.

Today we are opening that rig up. The GRID Spreadsheet Benchmark measures how closely an engine's formula results match Excel's. It runs thirteen engines today, the results are live on the benchmark page, and everything needed to rerun it is in a public repository. If you are choosing an engine to build on, or building one yourself, this is meant for you.

What we measure

Excel is the reference. Every test workbook is opened in desktop Excel, fully recalculated and saved. The value Excel writes into each formula cell is the expected answer. Not the value a test's author wrote next to the formula, not a specification, and not our own engine.

The tests are other people's. We did not write the tests we score on. We took eight test suites from open-source projects: two from IronCalc, and one each from LibreOffice, Gnumeric, Apache POI, HyperFormula, Univer and fast-formula-parser. Each is imported at a pinned commit, and the suites written as code are turned into workbooks, one cell per test case. That gives 102,516 test cases covering 497 of Excel's functions. We also have our own comprehensive suite of function tests, which gives us extra depth, but it stays out of the public score.

Every engine gets the same cells, and must match exactly. The engine must return Excel's value, or the same error Excel returns. Text, true/false and errors must be identical, and that includes complex numbers, which Excel's functions return as text, so they get no numeric tolerance. Numbers count as equal when they agree to about seven significant digits, or lie within 5×10⁻⁸ of each other when they are close to zero. Two correct engines can differ in the last digits: they add things up in a different order, or stop an iterative function like IRR one step apart. That is not a wrong answer, and nobody reads a model to the fifteenth digit. Cases Excel itself cannot judge are left out: volatile functions like RAND and NOW, functions Excel does not have, like REGEXMATCH, ISEMAIL, WEEKS and HF.ADD, and formulas Excel drops when it repairs a file.

Every engine really recalculates. An engine that reads an xlsx file also sees the values Excel saved in it, and could hand those back instead of computing anything. We check that every engine on the board computes its own answers.

The board

As of 10 November 2026, v1. The benchmark page has the current results.

EngineVersionCompatibilityFailures per 1,000, log scale
1GRID19.0.019.0.099.9%1.2
2GridCraft0.18.00.18.095.8%42
3IronCalc0.9.10.9.195.2%48
4SpreadsheetGear9.3.859.3.8594.4%56
5Mog1.0.01.0.091.5%85
6SpreadJS19.2.519.2.591.3%87
7Univer1.4.01.4.091.2%88
8Google SheetsWeb, Nov 9, 2026Web, Nov 9, 202690.6%94
9LibreOffice26.8.2.226.8.2.287.4%126
10HyperFormula3.5.03.5.082.9%171
11Gnumeric1.12.621.12.6282.8%172
12Apache POI6.0.06.0.052.9%471
13fast-formula-parser1.0.191.0.1947.0%530
1101001,000

These are good engines. Behind us, the next three are within a point and a half of each other, and seven more score above 90%. Four implement a function we have not yet, FILTERXML. Apache POI and fast-formula-parser are a different kind of project, a file library and a formula parser with evaluators on the side, and their scores should be read that way.

Why the last few percent are the hardest

A percentage near 100 hides how far apart engines are. Look at failures instead. An engine at 95.81% gets 42 of every 1,000 cases wrong. At 99.88% it is 1.2. That is about 35 times fewer wrong answers, from what looks like a gap of about 4 points. It is why the page plots failures on a log scale: each step closer to Excel takes more work than the last.

The reason is what the remaining failures are. The first 90% is implementing functions. The next few points are getting them right on ordinary inputs. What is left after that are the edge cases, and our own remaining failures show what they look like. =DATEVALUE("Jan1, 2015"), with no space after the month, is 1 January 2015 in Excel and #VALUE! in GRID. =TEXT(A1,"hh:mm a/p") at half past midnight gives 12:30 a in Excel, where GRID prints 00:30 a/p. And =ROW(INDIRECT("NonExist!W3")) is #REF! in Excel, since there is no such sheet, where GRID answers 3. Each one is a small fix. There are thousands of them, and nobody tells you where they are.

The benchmark page shows the same thing per function. Of the 497 functions tested, GRID passes every test case for 439. The next engines are at 170 (SpreadsheetGear) and 123 (GridCraft). What separates the top engines is no longer how many functions they implement, but how many of those functions you can trust on every input these suites test.

GRID439
SpreadsheetGear170
GridCraft123
Functions where every test case matches Excel, of the 497 tested

Suite by suite

The page shows the pooled score. Here is the same run broken down by the suite the tests came from, with each engine's own suite outlined.

EngineTest suites
Cases102,51672,67811,4545,5234,4913,1781,9601,7671,465
GRID99.999.9899.499.499.9100.099.899.6100.0
GridCraft95.897.292.889.694.490.396.991.293.9
IronCalc95.299.988.776.180.692.773.791.471.5
SpreadsheetGear94.496.488.084.493.098.599.373.095.9
Mog91.594.489.073.889.184.182.276.287.7
SpreadJS91.394.286.579.491.379.869.687.587.7
Univer91.292.288.893.891.178.185.588.291.5
Google Sheets90.694.375.975.290.789.693.085.686.6
LibreOffice87.490.783.865.082.886.888.571.670.0
HyperFormula82.989.764.851.285.976.767.455.366.1
Gnumeric82.883.480.371.284.893.298.272.181.3
Apache POI52.951.646.144.365.298.866.352.651.0
fast-formula-parser47.044.645.540.965.358.861.948.095.6
Score in each suite, in percent, next to the overall score. Outlined: the engine's own suite. Darker: closer to Excel. Select a column heading to sort by it.

One suite carries most of the cases. IronCalc's suite supplies about 71% of them (72,678 of 102,516), 73% with IronCalc's unit tests, and two of its workbooks, ARABIC_ROMAN and FLOOR_CEILING, about half of all cases. We pool every case rather than weighting suites, because the suites are a well of good tests and more tests are better. But it means the headline leans on IronCalc's suite, where IronCalc itself scores 99.9%. Weigh the 8 suites equally instead and GRID is still first, while IronCalc moves from third to eighth. The repository lists every engine's mean of suites. Read across a row and you see how an engine does on tests written by people who never saw its code.

No engine passes all its own tests. IronCalc comes closest at 99.9%. HyperFormula passes 85.9% of its own suite, LibreOffice 83.8%. The reason is how the benchmark is built. We keep each suite's formulas and inputs, but not its expected answers: every workbook goes through Excel, and Excel's answer becomes the expected value. So when an engine misses one of its own tests here, it is usually because the test's author expected something different from what Excel returns. In more than nine in ten of HyperFormula's misses on its own suite, the engine returns exactly the answer its own test expects. Excel is the one that disagrees. The same holds for most of the misses by Univer, Apache POI and fast-formula-parser on their own suites, and for more than half of LibreOffice's.

Some of those differences seem deliberate. HyperFormula's tests read dates day first, so "02/08/2020" is 2 August to them and 8 February to Excel in US English. LibreOffice converts units Excel does not know, and finds an interest rate where Excel gives up with #NUM!. Others, like its Bessel functions parting ways with Excel's in the sixth or seventh digit, are harder to call.

And some of the drift is Excel's own. A test written years ago to match Excel's answer at the time may not match what today's Excel returns. Excel changes, quietly, and a test suite is a snapshot of what its authors believed when they wrote it. That is one more reason to measure against Excel itself rather than against anyone's expected answers, ours included.

Reading the numbers honestly

This is a stress test, not a model. Test suites exist to find what breaks: odd inputs, boundaries, error handling, obscure functions. A failure rate of 5% here does not mean one cell in twenty goes wrong in a real workbook. But the larger and more complex the model, a big financial model say, the more likely it is to hit some of these cases somewhere. That is why the last edge cases matter: every engine, ours included, still has some, and a big model finds them.

File in, values out. Engines that read xlsx files themselves carry their reader's bugs in these numbers, because that is what their users get. Engines without a reader are handed the cells and formulas, which is how their users run them. An open-source xlsx reader reads the files for them, the same one for every such engine. One of our engineers wrote it. Our own engine reads the files itself. Google Sheets imports each workbook into Google Drive, and its xlsx export gives the values.

A workbook an engine cannot finish counts in full. If an engine fails to load a workbook, crashes on it or takes more than 60 seconds, every case in it counts as wrong, including cases that would otherwise be left out. One workbook that fast-formula-parser does not finish in time costs it 11 points.

Excel is the reference, not the truth. Excel has quirks, and matching them is the point. The reference is desktop Excel for Windows 16.0, build 20527, in US English.

Versions move. Several of these engines release monthly. Every result carries the version and the date it was run, and we will rerun the board as engines release.

Rerun it yourself

The harness is in the public repository, under the Apache 2.0 licence. It holds the import scripts for the eight suites, the Excel-saved test workbooks, the runner for every engine on the public board, and every published report. You do not need Excel, or anything from GRID beyond our public engine package, to reproduce the numbers: clone, install, run. The commercial engines need their own licence or trial key, and Google Sheets a Google account.

The test workbooks keep the licences of the suites they came from, and the results are published under CC BY 4.0, so use them, with credit. This is v1 of the benchmark: the suites are frozen at the commits listed in the repository, so every number on the board is measured against the same tests. Upstream suites keep growing, and moving to their newer tests will be a new version of the benchmark, not a quiet update to this one.

Found a bug, think we ran an engine wrong, or want another engine on the board? Open an issue. We will fix the setup and rerun.

What comes next

This is the first of at least three benchmarks. Formula compatibility asks whether an engine gets the answer right. The next two ask what else it supports, and how fast it gets there: coverage of features beyond formulas, and performance and memory usage on real-sized workbooks. Those numbers are coming, and we expect them to be just as interesting.

If you need Excel's answers inside your own product, the engine at the top of this board is the one we make: the GRID spreadsheet engine.

News

Updates and announcements

27.07.2026

An agent with a spreadsheet engine beats one without

Our results are now on the official SpreadsheetBench leaderboard: 91.25% on the verified 400 set, using Claude Sonnet. The rest of this post is how we got here: what SpreadsheetBench is, what six months of running the benchmark taught us - and why an agent with a spreadsheet engine beats an agent without one. We're also releasing @grid-is/agent-tools: the tools our spreadsheet agent uses to read, write, and understand workbooks - complementing our free-for-evaluation GRID engine. What is SpreadsheetBench? SpreadsheetBench is a benchmark for evaluating how well LLMs solve real spreadsheet tasks. It was introduced in a 2024 NeurIPS paper by researchers from Renmin University of China, Tsinghua University, and Zhipu.AI (Zeyao Ma, et al.). The dataset holds 912 tasks scraped from real Excel forum threads. Scoring is done by comparing cells: the cells your agent produced against the cells an expert says should be there. In late 2025 the researchers released a 400-task subset in which every task has been reviewed by experts, the "verified 400", in collaboration with Shortcut (see blog). Their objective was to create a subset of tests with fewer correct interpretations, optimized for automated evaluation. By removing overly ambiguous and simple tasks they created, in our opinion, a subset which gives a much cleaner signal, and it's the set all our published numbers refer to. Why we ran it We build a spreadsheet engine. This is a tricky thing to do, because a modern spreadsheet is a combination of decades of features piled on top of one another, none particularly well documented. Unless you spend your days knee-deep in a workbook, you may not have thought about the engine underneath. You just use Excel, and the calculation engine is invisible. When you've built something invisible, it's hard to tell people what you've done. You can say "We've written a spreadsheet engine, from scratch, that runs the calculations itself, manages the dependency graph, handles the awkward edges of Excel semantics, and exposes itself cleanly to code and to language models", and people will nod politely and then ask you if you have any interesting hobbies. So how exactly should we show off our engine? We have demos, we have case studies, standard stuff. And then we discovered SpreadsheetBench. 912 real-world problems, nabbed from Excel forums, scored by comparing cells to cells. The tasks are the sort of thing a colleague sends you at half past four on a Friday: combine these two sheets by matching on text in two columns, oh and by the way there's a totals row, oh and by the way new rows will be added later, so please make it survive that. A great test for an engine. This would help us test our hypothesis: an agent with a spreadsheet engine is better than an agent without. If you ask an LLM to solve a spreadsheet problem, it will often reach for the OpenPyXL Python library. But OpenPyXL is designed to read and write .xlsx files, not to provide a spreadsheet engine. It can't run calculations, it can't run formulas, it can't pivot tables. Instead, the LLM needs to write Python code to calculate values, and at that point a spreadsheet problem becomes a programming problem. It tries to solve the programming problem and hope the translation was lossless. It usually isn't. Meanwhile our engine, sitting quietly on the other side of the room, can just evaluate the formula. It can solve the spreadsheet problem. We think an engine provides a good foundation for LLMs to solve the sort of problems people have in spreadsheets. There was another reason too. We wanted to see our own engine and harness work on problems we hadn't chosen. It is very easy, when you build something, to end up testing it on the things it happens to be good at. SpreadsheetBench would help us get out of our comfort zone and find out if our spreadsheet engine could stand up against unforeseen problems. How we benefitted Our first tests, in December 2025, ran against the online MCP API we were hosting at the time, and they were surprisingly slow. That turned out to be the token-hungry nature of spreadsheets, not the service. So we quickly built an agent backend with the engine running directly inside it: a fuller exercise in what we believed our customers would want to build, and a faster way to iterate. We'd been developing that engine for more than seven years, but we had only just taught it to save modified .xlsx files. Until then it had powered our first product, Calculator Studio, which turned spreadsheets into visual, interactive calculators that read and calculated across more than 200,000 workbooks but never wrote changes back to a file. Durable editing was brand new. The first tests bore that out. They surfaced plenty of weaknesses in our export path (enough, we reckon, to account for something like 10–15% of the failures) and left us around 75% to start, depending on the tasks, model, and prompt. We started from the prompts and tools we'd been using for our LLM showcase. Our tools at the time reflected that history: mostly read-oriented (detecting data labels, understanding workbook structure), with the write path barely out of the oven. Running hundreds of forum-sourced tasks through it, then round-tripping the results back out to .xlsx for scoring, shook out bugs at a rate no test suite we could have written ourselves would have matched. The benchmark quietly became a development tool. It also changed how we run things. Waiting a few hours for a sequential run of hundreds of tasks to surface one regression is no way to live, so we built our own runner: tasks execute in parallel against the agent and are evaluated while the run is still going. Full 400-task runs are our high-fidelity check, exercising the whole export and roundtrip path, but they aren't cheap in tokens, so we don't run them constantly. Instead we used a handful of full runs to rate each task's difficulty, then picked 100 tasks representative of the overall spread and ran that smaller set far more often. It gives a fast, clear signal while we iterate on tools and prompts, and lets us reserve the full 400 for less frequent, higher-fidelity checks. Once the score settled into a reliable 85–90%, the benchmark's job changed. Since February this year we mostly stopped working on the agent itself: our customers needed pivot tables, charts, and other core engine work more than they needed a better benchmark score, so that's where our efforts were directed. The benchmark stayed on as a regression suite, guarding the score while we evolve engine features, tools, and skills the benchmark doesn't measure at all. The numbers Over the next few months these regression runs accumulated the following results: Model Runs Best Median claude-sonnet-5 7 91.25% 90.75% claude-opus-4-8 2 91.0% 90.5% claude-sonnet-4-6 7 90.0% 89.0% claude-sonnet-4-5 6 86.75% 85.6% The trend is really two stories. The big jump from sonnet-4-5 to sonnet-4-6 was mostly our own doing: those runs carry far more advanced GRID tooling and engine capabilities. The improvement since then is split between smaller tooling refinements and the model itself: sonnet-5 sits at 90% or above in six of its seven runs. It's worth noting that we'd probably need more than 6 or 7 runs for a given configuration of model + GRID tools to understand how well we do. A typical run fails 35–45 of the 400 tasks, but most of that is churn, the run-to-run noise we measure below. Just 14 tasks failed in all seven of the recent claude-sonnet-5 runs; put the other way, 96.5% of the verified 400 passed at least once within that window. Widen the window to every run we've recorded and only three tasks have never passed: 99.25% solved at least once, and the remaining three are arguably defective tasks, not lack of capability. A note on error bars, because leaderboards don't usually draw them. Every eval we'd built before this one was single-turn, and single-turn evals at temperature 0 are fairly stable, across both Claude and GPT models. Nothing had prepared us for how stochastic a 20-plus-turn agentic run is: early on, re-running a day's failed tasks lifted the score from 82-something to 85.7%, and a subsequent full re-run erased those gains. So we measured it properly. We ran the same agent build, configuration and model (claude-sonnet-4-6) five times over a fixed 100-task sample: 12 of the 100 tasks flipped between pass and fail across the runs. An earlier four-run group on claude-sonnet-4-5 showed the same: 14 of 100 flipped. Both groups ran with temperature=0 and top_k=1, sampling pinned to the single most likely token at every step, so the flips survive even with sampling nailed down. The take-away: a single-run score on this benchmark carries several points of noise, and comparisons between agents that differ by a point or two are mostly comparisons of luck. We're not the only ones to notice: the GPT for Work team's write-up of their own run reaches the same conclusion, attributing most of their misses to variance rather than a capability gap, with several failing tasks flipping to pass on re-runs. We standardize on Sonnet because that's the model businesses actually deploy at scale. It can be a real matter of economics: Sonnet is about 40% cheaper, on a workload as token-hungry as spreadsheets. A leaderboard doesn't record what a score costs to serve. In our controlled head-to-head with identical agent build on verified 400 and only the model swapped, Opus 4.8 scored one point higher than Sonnet 5 (91.0% vs 90.0%). A second Opus run came back at 90.0%. The noise shows that the choice has negligible effect on score. Reproducibility We're publishing our leaderboard run in full, every transcript and every output file. It lands in the same ~90% band as the rest of our runs; a single number here means little, which is rather the point. A score without its transcripts is just a claim, and we'd like publishing them to become the norm. Dealglass, whose Tetra sits ahead of us on the leaderboard, led the way here: their spreadsheet-agents dataset includes session logs for their baseline GPT-5.4 and Claude Opus 4.6 runs, alongside the eval results for their own agent. Two tasks from a recent run show what having the engine in the loop looks like, and why it matters: 48643 wants a column of accumulated wealth over 39 years: each year's deposit added to the previous year's total, grown by that year's rate. The calculation is inherently recursive, each row depends on the one above it, so there's no closed-form shortcut. Our agent evaluated the candidate formula against the live workbook first, then wrote it to the top cell and filled it down the column in one call. The engine recalculated the whole 39-row chain, and the agent read the computed values back to confirm the compounding behavior. Without an engine the agent would have to reimplement 39 rows of compounding arithmetic in Python and hope the rounding matches, or write the formulas blind. 48982 is a debugging task: a running-counter formula in B323 displays "000" and Excel complains about a circular reference, and the asker wants to know why. The display is a red herring (the cell's number format is literally 000), and the real bug is in the formula, =IF(A323="E","",MAX(B$7:B377)+1). The MAX range includes row 323 itself, so the cell feeds its own calculation. Our agent found this by reading the formula and its format, narrowed the range to B$7:B322, and evaluated the fixed cell in place to confirm that it now computed a value. A circular reference only exists, and only gets caught, when something is actually running the calculation. What the benchmark is, and isn't The good parts we covered up top: forum-sourced tasks with the underspecified shape of real work, plus expert review on the verified 400. It's the best public signal we've found for spreadsheet agent capability. But there are limitations: The reference harness assumes your agent writes Python. It generates code, runs it against the file, opens the result in Excel to recalculate, and then compares cells. That's a sensible pipeline if OpenPyXL is your only option, but unnecessary if your agent has an engine. Ours reads and edits cells directly and calculates natively. Some tasks have more than one valid solution, so getting them reliably right can mean you've overfit your prompts and tools rather than solved anything general. Only three of the 400 tasks have never passed in any of our runs, on any model. Every other task has passed at least once; most single-run failures are just tasks that fail one run and pass the next. We've shared our notes on some of these. Run-to-run volatility (see above) made us decide it's more valuable as a regression and optimization suite than anything else. That's how we use it: as the thing that tells us when an engine change broke the write path, not as a number to chase. There is also plenty a cell-comparison benchmark can't see: formatting and styles aren't scored at all, and comparing cells, or exact ranges, limits the tasks to those with a single, fixed position where the answer can be checked. SpreadsheetBench V2 addresses both, making it more representative of real spreadsheet work. That makes V2 the version of the benchmark we believe in, and the one our effort is aimed at next. Its leaderboard is young (so far it holds only the researchers' own model baselines, with the best at 34.9%), so nobody has really run at it yet. Try it for yourself The tooling layer the agent uses (the tools for reading, writing, and understanding workbooks that all these runs battle-tested) is now available as @grid-is/agent-tools. The engine itself is already available for non-commercial use, and together with our viewer and editor it's what a number of companies already license to build spreadsheet capability into their own products, increasingly for AI-agent workflows. The newest example: a financial-modeling agent one of our clients released on the engine's latest version just weeks ago. We're also strategically open-sourcing parts of the stack, more on that later. And credit is overdue. SpreadsheetBench has given us far more value than a number to put in a blog post: it has been a working development tool for half a year, and will be for the foreseeable future. Everything here is public: The agent tools: docs.grid.is/agent-tools The engine, free for non-commercial use: grid.is Our leaderboard run, transcripts and outputs: github.com/GRID-is/spreadsheetbench-results Install the tools into Claude Code or Codex: GRID skill marketplace An agent with a spreadsheet engine beats an agent without one. Now you have the tools to check.

22.06.2026

Spreadsheet superpowers, for humans and agents.

GRID took a big step this weekend. Our engine - the most sophisticated spreadsheet engine outside of Google and Microsoft - is now free for evaluation and non-commercial use, for any developer: human or agent. We've built it from scratch over the last 8 years, grounded in deep research into how spreadsheets really work, and we license it commercially to some of the leading AI companies in the world. What it does: More deeply compatible with Excel and Google Sheets than anything else out there: Runs 99.5%+ of real-world spreadsheet models, backed by tens of thousands of compatibility tests on every build. Fast enough to recalculate even the most complex models at "animation speed". Runs wherever you need it: 100% on-premises, in your own cloud, or entirely in the browser. The setup is yours to control, and the data never leaves your environment. Other parts of the stack are free too: the viewer (near pixel-perfect rendering of any spreadsheet) and the editor (a lightweight editing layer on top). Demand at the intersection of spreadsheets and AI is strong, and software development is changing fast. Hard-gated enterprise licensing is too slow for a world where coding agents do the integrating. We'd rather let agents, and the developers directing them, integrate and prove out their ideas first, and talk commercials later. For a personal project, all we ask is attribution. Spreadsheets run the world. Now you can run them. Give it a spin or point your agent at: grid.is/engine

03.06.2026

Spreadsheets ran the world. Then AI showed up.

I wore this shirt for years. Time to change the tense. For decades, the spreadsheet has been where the world does its thinking with numbers. It quietly became the most widely used programming language in the world, and hundreds of millions of people who would never call themselves programmers build working models in it every day. That era is ending, and not only for spreadsheets. Authoring is moving to AI across documents, slide decks, web apps, and yes - spreadsheets. Instead of starting with a blank slate, we describe what we want in plain language and let a machine draft the artifact. The handmade spreadsheet, built up cell by cell by a person, will become a rarity. Before long it will feel as quaint as hand-coding a web page in Notepad. Where the calculations go Once a machine is doing the authoring, a spreadsheet is no longer the obvious format for the response. Where the calculation ends up instead depends on the kind of task, and on how much rides on getting it right. Consumer tasks (splitting a bill, a home budget, the cost of a trip). People used to open a spreadsheet for this. Now they ask AI and get back a report or a small web app. The spreadsheet never appears at all. Operational tasks (team dashboards, sales pipelines, the startup model everyone argues over). These are moving to generated dashboards and web artifacts. A spreadsheet might sit underneath as the data source, but the logic that drives them is increasingly written as code, in Python or JavaScript, rather than in cells. High-stakes tasks (financial planning, M&A models, anything audited or regulated). Here the spreadsheet prevails, and will for a long time yet. Excel is the language of finance. The models get checked cell by cell by people who have to answer for them. Nobody trusts that to a black box. Seen this way, AI is not so much killing the spreadsheet as exposing what it is: a tool built first for the author, not for the audience. Its real gift is to the person building the model, who gets a live feedback loop where every intermediate value sits in front of them as they work. The reader is handed the finished wall of numbers with the reasoning collapsed inside it. It became the default way to deliver a calculation largely because it was what everyone already had and knew how to open, not because it was ever the best vehicle for the reader. What every calculation needs But, whatever the format, two things will always matter for any calculation: Quality. A calculation has to be correct, deterministic, verifiable and repeatable, something you can open up and inspect rather than simply believe. Legibility. A human has to be able to understand the model they are being asked to trust. As they say in finance, if you understand the spreadsheet, you understand the deal: the model is the deal, and trusting it means being able to read it. Today's AI is uneven on both counts. Ask it for a number in chat and you get neither: a confident answer, not verifiable, with no way to see how it was reached, which leaves you trusting it blindly. The moment it produces something runnable instead, a snippet of code, quality comes within reach, because the computation is deterministic and can be checked. Legibility is where it still fails. AI tends to show its work as Python or JavaScript, which almost no one outside of engineering can actually read. The spreadsheet's edge here is easy to misread. Cell for cell, a formula is no more legible than the equivalent line of code; the syntax was never the point. What it has is familiarity: orders of magnitude more people already read spreadsheets than read code, and in finance that gap is close to absolute. This doesn't make the spreadsheet inherently clearer than code. It just makes it the calculation that the most people can actually check, and that is exactly the property we are now at risk of throwing away. What comes next Calculations themselves are not going anywhere. If anything, we are about to produce far more of them than ever before. What is changing is that the spreadsheet is no longer the right format for all of them. In high-stakes finance, where every number has to be checked and someone has to answer for it, it will hold on for years yet. Everywhere else, its grip is already slipping. Familiarity is something a new format cannot inherit, but the rest of legibility, letting people follow the working and check it for themselves, is something you can design in from the start. That gap, between an explosion of machine-made calculations and our basic need to trust the numbers, is one of the largest and least-noticed openings AI is creating. Whoever works out how to make calculations that are correct, legible, and trustworthy, in whatever shape the audience needs, will build the next thing that quietly runs the world.

Visit our blog

Spreadsheets run the world

We run spreadsheets

2026 GRID

Developers

Get startedDocumentationLicensingGRID Labs

About us

CompanyCareersBlogContact us

Legal

SecurityPrivacy Policy
Press kit
Press kit

2026 GRID