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.
Hosted models lead. The best one you can run at home is 0.09 behind.
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.
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.
Edit distance against a reference transcription
- 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.
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.
- DraftGemini 3.1 Pro transcribes every page into a reference.
- ScoreEvery model reads every page and gets scored against it.
- SortPages are ranked by the best score any strong model got on them.
- 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.