Skip to content
Open format · .sheet.md

Spreadsheets that models understand for less.

Sheetmark writes an Excel workbook as plain Markdown: values in a pipe table, formulas as fill ranges, one file per workbook. Models answer questions about it with less reasoning, and it renders as tables on GitHub.

−17%cost per correct answer vs CSV, Haiku 5.5, all 14 workbooks (95% interval −24% to −8%)
−26%on the 4 hard workbooks, Haiku 5.5 (−32% to −17%)
100%of typed-in numbers found, against 68–75% for the other formats (12 answers per format)

Sonnet 5.5: −5% on all workbooks, which is within the noise (−12% to +2%), and −16% on the hard ones. Means of two same-session repeats, every input token priced as uncached, Claude models only. Full results and limitations.

See it

Every formula, in ten lines.

A 12-month forecast from the benchmark, converted in this page by the JS writer. Switch views, and hover a cell or a formula line. Coloured bands are fill ranges; the striped cells are typed-in numbers sitting where formulas belong.

How it works

From a zip of XML to text a model can read.

1 · THE .XLSX—

bytes of XML in the forecast workbook once unzipped. Formulas, cached values and styling attributes on every cell.

2 · SHEETMARK—

characters of Markdown, written in this page by the JS writer. One pipe table per region, then a formulas block of fill ranges.

3 · THE MODEL−31%

output tokens on Haiku 5.5 against CSV, across all 14 workbooks: less work spent guessing what the sheet means.

Try this

Find the typed-in numbers.

Someone overwrote formula cells with typed numbers. This is what the values look like. Click the cells you suspect, then reveal what Sheetmark shows.

ABCDEFGHIJKLMN
0 cells picked
Replay

Same question, two formats.

A recorded benchmark call, replayed at a fixed token rate. Haiku 5.5 read the forecast once as CSV and once as Sheetmark.

Workbook 11 · Haiku 5.5 · repeat 2 · one question of 6 in the callConsider the headcount and payroll rows for Feb through Dec (C4:M5). List the cells that hold typed-in numbers rather than formulas.
Sheetmark finished with 1,554 fewer output tokens (-40% on this call).

CSV

Read2,268
Reasoning + answers3,859
["Forecast!K5"] Missed H4, which holds the value its formula would give.

Sheetmark v0.2

Read2,518
Reasoning + answers2,305
["Forecast!H4","Forecast!K5"] Correct: both gaps in the fill ranges found.

One recorded call, picked to show the kind of miss values-only formats make; it is not a typical call. Token counts are the whole call (6 questions); the reasoning text was not saved. Across both models and repeats, CSV scored 68.1% on typed-in questions and Sheetmark 100% (12 answers each, partial credit).

Benchmark

Bigger file, smaller bill.

Sheetmark adds a little input. Models then write fewer tokens working out what the sheet means.

Grey: input tokens · colour: output tokens · right: cost per correct answer vs CSV
CSV5,950 in · 2,260 out
baselinecost / correct
Markdown6,935 in · 2,060 out
−1%cost / correct
TOON6,099 in · 2,363 out
+9%cost / correct
Sheetmark6,776 in · 1,567 out
−17%cost / correct
14 workbooks · 2 same-session repeats · input priced as uncached · Claude models only

Mean tokens per call over 14 workbooks and two same-session repeats; input priced as uncached; Claude models only. Repeats, intervals and limitations.

Works with Git

Review a spreadsheet change like code.

Pick an edit to the forecast. Git can only say a binary file differs; the .sheet.md shows which lines changed.

K5 held a typed 480,000. Put the formula back and the total follows.
git diff forecast.xlsx
diff --git a/forecast.xlsx b/forecast.xlsxBinary files a/forecast.xlsx and b/forecast.xlsx differ
git diff forecast.sheet.md0 lines changed
Running the writer…

Both versions of the .sheet.md were written just now, in this page, by the JS writer from the edited workbook. The edited cell and the cached total next to it are patched in the XML; nothing else changes.

Get started

Use it where you work.

# convert, then compare sizes
sheetmark encode model.xlsx
sheetmark stats model.xlsx

Working with an agent? /llms.txt indexes the format for it, and /llms-full.txt is the spec, the skill and these steps in one file.

Sheetmark is an open format for spreadsheet workbooks. Benchmarks: Claude Haiku 5.5 and Sonnet 5.5, 14 workbooks, two same-session repeats.

SheetmarkGitHub ↗
A1fx
ReadyClick a cell · drag the corner handle · arrow keys move · Esc clears