Handwriting OCR Bench
Benchmark · built 2026

Handwriting OCR Bench

How well can a vision model read real handwriting? I filmed real documents, from a 1768 account ledger to a 2025 guest book, wrote down what each page says, and scored every model I could run against them under one fixed prompt.

Leaderboard

Hosted models lead. The best one you can run at home is 0.09 behind.

Hosted API Runs locally on one GPU Same model re-reading its own reference

Score is the average page similarity to the reference, from 0 to 1, with each of the documents weighted equally. All rows read the same 139 pages under the same prompt and scoring version.

Sample pages

Three pages from before 1905

Pick a model to see its reading next to the page. Words that differ from the reference are highlighted; reference words the model missed are struck through.

How a page is scored

Edit distance against a reference transcription

score = 1 − edits ÷ longer length Both texts are lowercased and their spacing collapsed, so line breaks and capitals don't count. Edits are the character insertions, deletions and substitutions needed to turn one into the other.
referencesprinkeled all the cattle
Gemma 4sprinkled all throats
edits7 of 25 characters
score1 − 7/25 = 0.72
  • Each document counts once. The headline averages per document, so the 79-page diary can't drown out a 3-page stack of postcards.
  • Blank pages stay in. A model that invents text on an empty page scores 0 there and is flagged as a hallucination.
  • Character and word error rates (CER, WER) are tracked too, with a bootstrap confidence interval on the overall score.
  • Scoring is frozen and versioned. Every result records which scoring rules and which version of the pages it was measured on. Changing a rule means re-scoring every stored result from cached outputs and publishing the deltas.
How the reference is checked

Hand-check where the models disagree most

Typing out 139 pages by hand doesn't scale, so the references start as transcriptions from Gemini 3.1 Pro. That gives Gemini models a home advantage, which is why the board shows how well that model agrees with itself. Hand-checking time goes where it teaches the most: the pages where even the strongest models disagree with the reference.

  1. DraftGemini 3.1 Pro transcribes every page into a reference.
  2. ScoreEvery model reads every page and gets scored against it.
  3. SortPages are ranked by the best score any strong model got on them.
  4. CheckFrom the bottom up, a person reads the page. A wrong reference gets fixed in a new data version; a hard page becomes a lesson for the pipeline.
Reference cut short: every strong model read 3× more text Other pages
What it showed

Findings so far