Read text →
Page or photograph → text
CER / WER; page-level omissionsCodeSOTA / The document desk
Compare open-weight models, inspect benchmark evidence, and choose the output your workflow needs.
Start with your output
Page or photograph → text
CER / WER; page-level omissionsPDF pages → structured document
Structure, faithfulness and groundingTable image → cells and structure
TEDS / cell accuracyForm or invoice → named fields
Field precision / recall; exact matchHandwritten line → transcription
CER / WERDocument + question → grounded answer
ANLS / exact match; abstention01 / Measured by CodeSOTA
Handwriting transcription and visual-text question answering use separate metrics and scopes. Full-split runs and historical subsets remain separate.
full · cer · Every nonempty transcription in the pinned test split; expected exactly 2,915 lines
| Model / revision | CER ↓ | Lines | GPU-slot time | Evidence |
|---|---|---|---|---|
| trocr-large-handwrittene68501f437cd | 3.41% | 2915 | 288.4s | Inspect examples → |
| trocr-base-handwritteneaacaf452b06 | 4.72% | 2915 | 200.1s | Inspect examples → |
| trocr-small-handwrittenb4648cfa1719 | 6.33% | 2915 | 47.4s | Inspect examples → |

Matched singleton checks changed answers materially. Retained for diagnosis; use the full serial reference instead. This run also used a smaller image budget.
full · accuracy · All 1,000 questions; question, category, dataset and answer metadata matched against the pinned upstream list
| Model / revision | Accuracy ↑ | Questions | GPU-slot time | Evidence |
|---|---|---|---|---|
| Qwen2.5-VL-3B-Instruct66285546d2b8 | 60.70% | 1000 | 372.2s | Inspect examples → |
| Qwen2-VL-2B-Instruct895c3a49bc3f | 49.00% | 1000 | 268.3s | Inspect examples → |
| Component | Model | Correct / questions | Accuracy |
|---|---|---|---|
| Artistic Text Recognition | Qwen2.5-VL-3B-Instruct | 42 / 50 | 84.0% |
| Digit String Recognition | Qwen2.5-VL-3B-Instruct | 27 / 50 | 54.0% |
| Doc-oriented VQA | Qwen2.5-VL-3B-Instruct | 109 / 200 | 54.5% |
| Handwriting Recognition | Qwen2.5-VL-3B-Instruct | 28 / 50 | 56.0% |
| Handwritten Mathematical Expression Recognition | Qwen2.5-VL-3B-Instruct | 25 / 100 | 25.0% |
| Irregular Text Recognition | Qwen2.5-VL-3B-Instruct | 39 / 50 | 78.0% |
| Key Information Extraction | Qwen2.5-VL-3B-Instruct | 119 / 200 | 59.5% |
| Non-Semantic Text Recognition | Qwen2.5-VL-3B-Instruct | 40 / 50 | 80.0% |
| Regular Text Recognition | Qwen2.5-VL-3B-Instruct | 43 / 50 | 86.0% |
| Scene Text-centric VQA | Qwen2.5-VL-3B-Instruct | 135 / 200 | 67.5% |
| Artistic Text Recognition | Qwen2-VL-2B-Instruct | 31 / 50 | 62.0% |
| Digit String Recognition | Qwen2-VL-2B-Instruct | 17 / 50 | 34.0% |
| Doc-oriented VQA | Qwen2-VL-2B-Instruct | 89 / 200 | 44.5% |
| Handwriting Recognition | Qwen2-VL-2B-Instruct | 27 / 50 | 54.0% |
| Handwritten Mathematical Expression Recognition | Qwen2-VL-2B-Instruct | 13 / 100 | 13.0% |
| Irregular Text Recognition | Qwen2-VL-2B-Instruct | 35 / 50 | 70.0% |
| Key Information Extraction | Qwen2-VL-2B-Instruct | 90 / 200 | 45.0% |
| Non-Semantic Text Recognition | Qwen2-VL-2B-Instruct | 26 / 50 | 52.0% |
| Regular Text Recognition | Qwen2-VL-2B-Instruct | 41 / 50 | 82.0% |
| Scene Text-centric VQA | Qwen2-VL-2B-Instruct | 121 / 200 | 60.5% |

full · accuracy · All 1,000 questions; question, category, dataset and answer metadata matched against the pinned upstream list
| Model / revision | Accuracy ↑ | Questions | GPU-slot time | Evidence |
|---|---|---|---|---|
| Qwen2.5-VL-3B-Instruct66285546d2b8 | 81.30% | 1000 | 683.3s | Inspect examples → |
| Qwen2-VL-2B-Instruct895c3a49bc3f | 78.50% | 1000 | 770.9s | Inspect examples → |
| Component | Model | Correct / questions | Accuracy |
|---|---|---|---|
| Artistic Text Recognition | Qwen2.5-VL-3B-Instruct | 45 / 50 | 90.0% |
| Digit String Recognition | Qwen2.5-VL-3B-Instruct | 39 / 50 | 78.0% |
| Doc-oriented VQA | Qwen2.5-VL-3B-Instruct | 162 / 200 | 81.0% |
| Handwriting Recognition | Qwen2.5-VL-3B-Instruct | 37 / 50 | 74.0% |
| Handwritten Mathematical Expression Recognition | Qwen2.5-VL-3B-Instruct | 46 / 100 | 46.0% |
| Irregular Text Recognition | Qwen2.5-VL-3B-Instruct | 46 / 50 | 92.0% |
| Key Information Extraction | Qwen2.5-VL-3B-Instruct | 176 / 200 | 88.0% |
| Non-Semantic Text Recognition | Qwen2.5-VL-3B-Instruct | 44 / 50 | 88.0% |
| Regular Text Recognition | Qwen2.5-VL-3B-Instruct | 48 / 50 | 96.0% |
| Scene Text-centric VQA | Qwen2.5-VL-3B-Instruct | 170 / 200 | 85.0% |
| Artistic Text Recognition | Qwen2-VL-2B-Instruct | 48 / 50 | 96.0% |
| Digit String Recognition | Qwen2-VL-2B-Instruct | 30 / 50 | 60.0% |
| Doc-oriented VQA | Qwen2-VL-2B-Instruct | 139 / 200 | 69.5% |
| Handwriting Recognition | Qwen2-VL-2B-Instruct | 41 / 50 | 82.0% |
| Handwritten Mathematical Expression Recognition | Qwen2-VL-2B-Instruct | 36 / 100 | 36.0% |
| Irregular Text Recognition | Qwen2-VL-2B-Instruct | 48 / 50 | 96.0% |
| Key Information Extraction | Qwen2-VL-2B-Instruct | 173 / 200 | 86.5% |
| Non-Semantic Text Recognition | Qwen2-VL-2B-Instruct | 45 / 50 | 90.0% |
| Regular Text Recognition | Qwen2-VL-2B-Instruct | 48 / 50 | 96.0% |
| Scene Text-centric VQA | Qwen2-VL-2B-Instruct | 177 / 200 | 88.5% |

subset · cer · First valid examples from the pinned split
| Model / revision | CER ↓ | Lines | GPU-slot time | Evidence |
|---|---|---|---|---|
| trocr-small-handwrittenb4648cfa1719 | 5.86% | 32 | Not recorded | Inspect examples → |
subset-256 · cer · First 256 nonempty transcriptions in pinned test split order (2,915 total test lines)
| Model / revision | CER ↓ | Lines | GPU-slot time | Evidence |
|---|---|---|---|---|
| trocr-large-handwrittene68501f437cd | 3.97% | 256 | 86.1s | Inspect examples → |
| trocr-base-handwritteneaacaf452b06 | 4.93% | 256 | 42.2s | Inspect examples → |
| trocr-small-handwrittenb4648cfa1719 | 6.20% | 256 | 14.0s | Inspect examples → |
GPU-slot time includes model/data loading and CPU scoring. IAM CER is a character-edit ratio. OCRBench accuracy uses upstream answer-in-response matching; it is not document-layout or table quality. Each task page records decoding and image budgets.
02 / Candidate discovery
The legacy snapshot contains 71 models labelled open-weight and 317 reported observations. Use these to build a test shortlist.
Line-crop scores do not measure full-page segmentation or document layout.
Read the selection guide →Primary metadata refreshed 2026-10-18: 65 repository mappings, 6 software pipelines, 0 unresolved identities. Current repository metadata does not identify the checkpoints used by historical reports. Hub tensor counts may include tied weights.
0 matching model labels · alphabetical, not ranked. Changing the reported-score slice changes observations below; models match the output, deployment and search filters.
| Candidate | Source metadata / current snapshot | Recorded benchmark coverage | Inspect |
|---|
No matching candidates. Try another output or deployment filter.
Registry labels do not establish current availability, licences, pinned model identity or compatible protocols. Imported observations never enter measured leaderboards or aggregates. Alphabetical within metric; no shared rank.
No observations in this slice for the current filters.
Snapshot retrieved 2026-10-18. 93 legacy model labels lack matched model metadata; they appear only when unresolved entries are included. Source dates and import dates remain distinct.
03 / From shortlist to working pipeline
Start with the output your application consumes, then test complete pipelines on representative files.
Separate line recognition from detecting handwriting on a whole page. Our current measurements cover the first task.
The target can be searchable text, reading-order Markdown, tables or a structured document. Choose and evaluate that contract explicitly.
The useful outcome is correct fields with evidence: supplier, invoice number, dates, currency, totals and line items.
Original OCR archive ↗ · PaddleOCR vs Tesseract · PaddleOCR vs EasyOCR
04 / Coverage, honestly
Executable adapter and current measurements. Inspect each protocol’s subset size and normalization above.
Inspect the full IAM comparison →Evaluator and dataset revisions pinned. Local pipeline adapter and validation still required; no CodeSOTA scores.
Integration plan →Full OCRBench visual-text QA runs appear above when registered. OmniDocBench, table reconstruction and form-field scoring still require separate adapters; legacy observations do not become execution jobs.
Adapter backlog →Measure omissions, structure errors, latency, failure rate and human review on held-out documents. Current public data cannot establish a universal best OCR model.
How benchmark fit works →