crunch.md

Anything to Markdown. PDF, DOCX, PPTX, XLSX or a URL in — clean, structured, model-ready text out.

crunch-core · deterministic
0 / 1 FREE TODAY
no file / free tier

Drop it.

PDF · DOCX · PPTX · XLSX · HTML · CSV · MD

Drag anywhere in the frame, or O

0.00 SECONDS · WORKING
NATIVE FILE — tok
MARKDOWN — tok
0 STRUCTURE SCORE · /100
RENDERED
RAW

ready · waiting for input

Free · one conversion a day, no account. Today’s is still yours.

WEBthis page
APIPOST /v1/crunch
MCPlocal or hosted
CLIcrunch file.pdf
pip install crunch-md

WHY BOTHER

Markdown is the cheap seat.

The same document, in a format a model can read without paying to look at a picture of it. Four claims below, each with the number it rests on and where that number came from.

01 · TOKENS

A PDF page pays twice.

Send Claude a PDF and it charges you for the text it pulls out and for a rendered image of the page. Markdown drops the image. Same words, same headings, same tables — one bill instead of two.

NATIVE PDF · 1 page 2,134 tok
566 extracted text 1,568 page image
CRUNCHED MARKDOWN · 1 page 760 tok
words, headings, tables. No image.

64% fewer input tokens, on Claude.

crunch.md measured in-process over 16 real PDFs, 152 pages, exact tiktoken o200k_base counts · reproduce with ‘crunch bench’ · read 2026-09-06

Anthropic PDF support — the system converts each page into an image, and extracts the text alongside it source ↗ · read 2026-09-06

Anthropic vision — page image costs ceil(w/28) × ceil(h/28) visual tokens, capped at 1,568 source ↗ · read 2026-09-06

Not on every model.

Gemini charges a flat 258 tokens per PDF page and doesn't bill you for the text it extracts itself. There our Markdown costs about 2.9× more — crunch.md buys you structure, not tokens. OpenAI publishes no per-page figure at all, so we make no claim about it.

Google document processing — each PDF page counts as a flat 258 tokens source ↗ · read 2026-09-06

OpenAI file inputs — says PDF parsing "can increase token usage", publishes no per-page figure source ↗ · read 2026-09-06

Markdown is not free either.

Pipes, hashes and dashes cost 1.34× the bare words — 760 tokens against 566. That is the trade: a third more input, and the table still reads as a table.

The 1,568 is the cautious number.

Anthropic documents 1,500–3,000 tokens per page for extracted text alone, with the image on top, and its own worked example implies ~2,000 tokens of image a page. We used the documented cap instead. The real saving is likely larger than the bar shows.

02 · PREFILL

Every token is read before one is written.

A model prefills the whole prompt before it emits a first token, and it does it more slowly the longer the prompt gets. Cutting the input is the only lever that shortens the wait.

100200300400tok/s3451K3338K27132K154128Kcontext length

MLX M3 Ultra Mac Studio, Qwen 32B, prompt-processing tokens/s by context length source ↗ · read 2026-09-06

Where it wins

Against a native PDF the input drops from 2,134 tokens a page to 760 — 64% less to prefill. And because the rate climbs as the prompt shrinks, a shorter prompt is faster per token as well as shorter.

Where it doesn't

A local model can't read a PDF at all, so the honest comparison there is against a raw text dump — and our Markdown is about 1.34× that. On your own hardware you pay a little more prefill, and get a document the model can navigate. We are not going to pretend that is a speed-up.

OUR SIDE OF THE CLOCK 365 ms a page · about 2.7 pages a second

ESTIMATEcrunch.md measured in-process over 16 real PDFs, 152 pages, exact tiktoken o200k_base counts · reproduce with ‘crunch bench’ · not yet re-measured on the production box, which is slower than the machine this ran on · read 2026-09-06

03 · MONEY

Put your own numbers in.

Input tokens only, at published list prices, on the model you pick. The multiplication is printed underneath so you can check it.

10,000

List price for input tokens. Output is the same either way, so it is not counted here.

AS NATIVE PDF $42.68 10,000 × 2,134 tok = 21,340,000 tok × $2.00/M
AS CRUNCHED MARKDOWN $15.20 10,000 × 760 tok = 7,600,000 tok × $2.00/M

YOU KEEP $27.48 a month

Anthropic published API list prices, input tokens · a snapshot, they move source ↗ · read 2026-06-24

crunch.md measured in-process over 16 real PDFs, 152 pages, exact tiktoken o200k_base counts · reproduce with ‘crunch bench’ · read 2026-09-06

Read that honestly. At 1,000 pages a month on Haiku 4.5 the saving is $1.37 — real, and small. This is a volume argument, and it is a bill you pay to a model vendor, not to us. If your reason to crunch is structure rather than spend, §04 is the one that matters.

04 · STRUCTURE

The table survives, so the answer does.

Fewer tokens is the argument people check. This is the one that decides whether the answer is right. Headings, tables, lists and footnotes come through as headings, tables, lists and footnotes — so a chunk stays citable and a number stays attached to its row.

TEXT DUMPcolumns gone
Plan Pages/day Formats API
Free 1 PDF, DOCX no
Plus 200 all no
Pro 2,000 all yes
CRUNCHED MARKDOWNcolumns kept
| Plan | Pages/day | Formats   | API |
| ---- | --------- | --------- | --- |
| Free | 1         | PDF, DOCX | no  |
| Plus | 200       | all       | no  |
| Pro  | 2,000     | all       | yes |

Illustration — the same rows, formatted two ways. Not a measurement.

  • Headings give a chunker a place to cut. Chunks stop starting mid-sentence.
  • Tables keep a value in its row and its column, so a figure can be quoted safely.
  • Lists stay enumerable, so "how many steps" has an answer.
  • Footnotes stay attached, so a caveat travels with the claim it qualifies.

HOW WE MEASURED

16 real multi-page PDFs — technical specs, a strategy deck, brochures, a table-heavy pricing matrix, one-pagers — 152 pages in total, run through crunch-core in-process with exact tiktoken o200k_base counts rather than a heuristic. Mean 566 tokens of extracted text a page in, 760 tokens of Markdown out, at 365 ms a page. Run it yourself: crunch bench.

Two caveats we would rather you heard from us. The timing was measured on a developer machine, not on the production box, which is slower — treat it as a floor, not a promise. And the token saving is stated against Claude, which bills a rendered image of every PDF page; on Gemini the same conversion costs more, not less, and §01 says so.

Last checked 2026-09-06.

WHO THIS IS FOR

Six industries, and the document that actually lands on the desk

A token count is abstract until it is your document. Pick the desk you recognise. The panel says what arrives, what it costs to hand a model the file as it is, which part of the structure a plain text dump destroys, which surface fits the workflow — and what crunch.md still gets wrong on that desk.

Financial services Reports, prospectuses, KYC packs 02 / 06
THE DOCUMENT

A 200-page prospectus: rate tables by tenor and currency, a fee schedule, risk factors, and four pages of footnotes that every figure above depends on.

WHAT IT COSTS
≈ 300k – 600k tokens ESTIMATE
200 pages × 1,500–3,000 tokens/page

One document, and the page images alone outweigh everything else you were going to put in the request.

WHAT SURVIVES
THE RATE TABLE

Every cell keeps its row label and its column header. In a flat dump 3.75 arrives as a bare number and the model infers which tenor and which currency it belonged to — the one thing on the page nobody may infer.

WHERE IT RUNS
CLI

pip install crunch-md and run it inside the perimeter. The base path is deterministic and makes no model call, so the prospectus never leaves the building in order to become Markdown.

THE CATCH

A cell merged across two columns is flattened into one. The conversion does not hide it: the response carries a warning naming the table, so you know which one to check by eye.

Health & life sciences Protocols, submissions, labels 03 / 06
THE DOCUMENT

A 90-page clinical protocol: inclusion and exclusion criteria, a schedule-of-assessments grid, and a dosing table banded by weight.

WHAT IT COSTS
≈ 135k – 270k tokens ESTIMATE
90 pages × 1,500–3,000 tokens/page

Multiply it by every amendment and every sister protocol in the study folder, before the first question is asked.

WHAT SURVIVES
THE DOSING TABLE

A dose stays bound to its weight band and its unit. Flattened, 12.5 floats free of the band it belongs to — and a misattributed dose is not a formatting problem.

WHERE IT RUNS
API

POST /v1/crunch from inside the pipeline. The base path is deterministic — same input, same Markdown, same structure map — which is what a validated system has to be able to say about a step.

THE CATCH

Figures are not read. A structure diagram or a gel image comes back as a placeholder holding its position in the document, never as a description we generated for it.

Public sector Tenders, legislation, consultations 04 / 06
THE DOCUMENT

A tender pack of about 300 pages: an ITT in PDF, the requirements matrix as XLSX, a question-and-answer addendum in DOCX, and two annexes nobody mentions until day nine.

WHAT IT COSTS
≈ 450k – 900k tokens ESTIMATE
300 pages × 1,500–3,000 tokens/page

That is the pack once. A bid team goes back into it a dozen times.

WHAT SURVIVES
THE REQUIREMENTS MATRIX

Requirement id, mandatory or desirable, and the response cell stay one row you can answer down. Flatten it and every M and D comes loose from the requirement it graded.

WHERE IT RUNS
WEBCLI

Drop one document here to see what comes back. Then run the CLI over the folder: four formats, one command, one Markdown tree the whole bid team can search.

THE CATCH

Older consultations and scanned statutory instruments are images of text. Those need OCR, which is not shipped. Born-digital PDF converts; a 1998 photocopy does not.

Engineering & manufacturing Specs, standards, datasheets 05 / 06
THE DOCUMENT

A 60-page component datasheet: parameter tables with min, typical and max columns, test conditions in footnotes, and dimension drawings at the back.

WHAT IT COSTS
≈ 90k – 180k tokens ESTIMATE
60 pages × 1,500–3,000 tokens/page

A part library holds hundreds of these, and every one of them gets revised.

WHAT SURVIVES
THE MIN / TYP / MAX TABLE

The units row stays attached and a footnote marker stays in the cell it qualifies. Flattened, 2.7 3.3 3.6 is three numbers with no column and no test condition.

WHERE IT RUNS
CLIMCP

Run the CLI across the library and rebuild it when a revision lands — the output is deterministic, so the diff is the revision. Point an MCP client at the result and an engineer can ask across the whole set instead of one datasheet at a time.

THE CATCH

A dimension drawing is a figure placeholder. The callouts inside it live in the image, not in the text layer, so the tolerances you can cite are the ones that were in a table.

Software & AI teams RAG corpora, internal docs, attachments 06 / 06
THE DOCUMENT

Whatever the ticket has attached: a 40-page vendor PDF, an exported wiki page, a spreadsheet of test cases — arriving mid-conversation, in four formats, unannounced.

WHAT IT COSTS
≈ 60k – 120k tokens ESTIMATE
40 pages × 1,500–3,000 tokens/page

For one attachment, on one turn, inside an agent loop that had other things to spend a window on.

WHAT SURVIVES
THE HEADING TREE

Headings come back as a structure map, so chunks can break where the document breaks instead of every thousand characters. A table survives inside the chunk that cites it.

WHERE IT RUNS
MCPAPI

The agent calls the crunch tool before it reads. The model sees Markdown; the raw file never enters the context window at all.

THE CATCH

crunch.md does not chunk, embed or store anything. It returns Markdown and a structure map — the splitter, the index and the retrieval are still yours to write.

READ THE DOCUMENTS AS ILLUSTRATIONS, NOT BENCHMARKS

The six documents above are typical shapes, not files we converted, and nobody named here is a customer. Every total is arithmetic rather than a measurement: page count × 1,500–3,000 tokens per page, which is the range model vendors quote for native PDF input, where each page arrives as a rendered image alongside its extracted text. We did not measure that range: it is a planning figure, and it gets replaced by measured per-page values once the benchmark corpus runs. Read every total as an estimate. Read the catches as the part we would rather you found here than after you uploaded something.

A Digital One product. Files deleted after conversion · never used for training