Open OCR Benchmark: 8 Models, 5 Languages, 900 Pages | VoicePing
OCR Document AI GPU Inference Benchmark Multilingual OCR Vision Language Models Open Source AI

Multilingual OCR Benchmark: Hunyuan and Qwen Lead Accuracy, Paddle Leads Throughput

Akash Verma 12 min read
Eight open OCR models evaluated on 900 multilingual pages across five languages and six image types
In this article

A strict-GPU benchmark of eight open OCR systems on 900 pages across five languages and six document types, with CER, latency, throughput, VRAM, energy, truncation, and structured-output results.

Models and references:

  • PaddleOCR PP-OCRv53.1M–5.3M active parameters, depending on the selected language recognizer; mobile detector-recognizer OCR returning polygons and confidence.
  • EasyOCR24.6M–74.6M active parameters, depending on the language reader; CRAFT detection plus PyTorch recognition returning regions and confidence.
  • docTR26.4M parameters in the evaluated pretrained predictor; two-stage PyTorch document OCR returning structured regions and confidence.
  • GLM-OCR1.33B parameters; vision-language OCR evaluated with Transformers generation for plain-text and Markdown extraction.
  • Granite Docling 258M257.5M parameters; compact Transformers document conversion producing DocTags with layout locations.
  • HunyuanOCR1.12B parameters; dedicated OCR vision-language generation covering text spotting, parsing, and semantic document tasks.
  • Qwen3-VL-8B-Instruct8.77B parameters; general vision-language generation used for multilingual OCR and Markdown extraction.
  • Surya OCR 2686.2M parameters; layout-aware Transformers generation producing text or HTML with region geometry.

Counts describe the evaluated active checkpoint weights, not download size. Classic OCR totals combine the detector with the language-specific recognizer loaded for that page; generative-model totals use the published checkpoint tensors.

Abstract

We evaluated eight open OCR systems on the same 900-page suite: five languages, six image types, and 30 pages in every language-by-type cell. Every system ran on one NVIDIA RTX PRO 6000 Blackwell Max-Q GPU under a strict no-CPU-fallback policy.

There is no universal winner. HunyuanOCR recorded the lowest observed mean character error rate (CER) at 0.1637, with QwenOCR effectively tied at 0.1651. PaddleOCR delivered the strongest low-latency grounded profile: 0.145-second warm inference p50, 268 measured wall pages per minute, and polygons plus confidence.

The leading accuracy gaps are not statistically decisive in this sample. Deployment cost and output contract are clearer differentiators: Hunyuan reached 96,358 MiB peak VRAM, Qwen reached 21,010 MiB, while Paddle stayed below 4 GiB and returned usable geometry. We therefore report accuracy, latency, resources, truncation, and output capabilities separately rather than manufacturing one composite winner.

Evaluation Methodology

The benchmark uses a balanced page grid and keeps text accuracy separate from operational measurements:

OCR benchmark experiment design

Page Set

DimensionCoverage
LanguagesEnglish, Japanese, Korean, Chinese, Hindi; 180 pages each
Image typesSimple print, complex layout, tables/forms, screenshots/UI, handwriting, camera/degraded; 150 pages each
Difficulty10 easy, 10 medium, 10 hard pages in every language/type cell
Runtime set900 pages

The source mix contains 548 controlled-rendered pages, 50 controlled-degraded pages, 195 MDPBench-origin public-real pages, and 107 licensed web-real Wikimedia Commons pages. All 900 pages contribute operational metrics. Text accuracy uses only pages with independent reference text; evaluated-model output was never reused as ground truth.

Inference Prompt Set

Detector-recognizer systems do not accept natural-language instructions, so PaddleOCR, EasyOCR, and docTR received the image plus the configured language reader. Generative systems received the same task objective—transcribe all visible text in reading order without summarizing—but used the output format native to each model.

Model pathEvaluated instruction
PaddleOCR, EasyOCR, docTRNo text prompt; run the configured detector and recognizer and return regions in emitted order.
GLM-OCRExtract all visible text from this page in reading order. Preserve headings, lists, and tables as Markdown.
Granite DoclingConvert this page to DocTags. Preserve all text, reading order, and layout.
HunyuanOCR提取页面中的所有文字,按阅读顺序输出,并使用 Markdown 保留标题、列表和表格结构。 (Extract all page text in reading order and preserve headings, lists, and tables as Markdown.)
QwenOCRPerform OCR on this document page. Transcribe every visible character in reading order. Preserve headings, paragraphs, lists, and tables as Markdown. Do not summarize, translate, explain, or omit text. Return only the transcription.
SuryaOCROfficial high-accuracy prompt: OCR this image to HTML. Each block is a div with data-label and data-bbox (x0 y0 x1 y1, normalized 0-1000).

Execution Controls

  • One locked uv environment and pinned model revision per system.
  • Inference used each model’s native CUDA path: PaddleOCR.predict() through PaddlePaddle GPU; EasyOCR.Reader.readtext() and docTR’s ocr_predictor() through PyTorch; and autoregressive generate() through Hugging Face Transformers for GLM-OCR, Granite Docling, HunyuanOCR, QwenOCR, and Surya OCR 2.
  • The pinned Python ML stack used PaddleOCR 3.6.0 with PaddlePaddle GPU 3.3.1; EasyOCR 1.7.2; python-doctr 1.0.1; Surya OCR 0.21.1; PyTorch 2.11.0 and torchvision 0.26.0; Transformers 5.10.2–5.12.1 (plus the pinned Hunyuan-compatible revision); Accelerate 1.13.0–1.14.0; and Pillow 10.4.0–12.2.0.
  • One persistent process per run; model load was recorded once and excluded from warm inference percentiles.
  • Sequential single-page inference with no batching or concurrency.
  • CUDA was required and automatic CPU fallback was forbidden.
  • Generative decoding was deterministic and capped at 1,024 new tokens; reaching the cap without an end-of-sequence token counted as truncation.
  • GPU and process resources were sampled around every page.

Metrics

  • Completion and truncation: successful pages, failures, timeouts, and outputs that reached the generation cap. ↑ completion ↓ failures / truncations
  • CER: character edit distance divided by reference length after Unicode NFKC and language-specific normalization. ↓ lower is better
  • NormED and text similarity: edit distance divided by the longer of prediction and reference, plus its 1 − NormED similarity form. ↓ NormED ↑ similarity
  • Latency: cold load, warm inference p50/p95, and end-to-end p50/p95. ↓ lower is better
  • Throughput: successful wall pages per minute, including measured per-page orchestration overhead. ↑ higher is better
  • Resources: peak VRAM and process-tree RAM, plus mean/peak GPU utilization and board power. ↓ peak memory
  • Energy: active GPU-board Wh per page above the pre-process idle sample. ↓ lower is better
  • Output contract: plain text, Markdown/HTML/DocTags, boxes, confidence, overlays, and emitted reading order.
  • Official structure metrics: MDPBench text edit, formula CDM, table TEDS, and reading-order edit on the 195-page source-faithful subset. ↓ text / order edit ↑ CDM / TEDS

Results

The results move from the overall accuracy-speed trade-off to language, image type, domain shift, truncation, official structure scores, and GPU cost. We keep these dimensions separate because a low CER does not imply low latency, grounded output, or reliable document structure.

Metric direction↓ lower is better↑ higher is better

Overall accuracy, completion, and speed


The first view places mean per-page CER against warm inference p50; the most favorable region is the lower left. The table then adds completion, normalized edit distance, and generation-cap counts that the two-axis chart cannot show.

Ranked OCR accuracy and warm inference speed

ModelCompleted CER NormED Capped
HunyuanOCR900/9000.16370.1499184
QwenOCR900/9000.16510.1476222
GLM-OCR900/9000.22990.2185263
PaddleOCR900/9000.25090.23720
SuryaOCR900/9000.28470.2781507
EasyOCR900/9000.31340.30200
Granite Docling 258M900/9000.55900.5131468
docTR900/9000.76080.71210

CER is mean per-page character edit distance divided by reference length. It can exceed 1.0 on a page when insertions outnumber reference characters. Normalized edit distance (NormED) divides by the longer of prediction and reference and remains bounded between 0 and 1.

docTR demonstrates why speed cannot be read alone: its default recognizer was extremely fast but used a Latin-oriented vocabulary that could not represent most CJK or Devanagari text.

Accuracy by language


This split checks whether the overall ranking survives a change in language and script. Each language aggregates 180 pages across all six image types.

Top three observed OCR character error rates in each language

Hunyuan recorded the lowest observed CER for English (0.1457), Korean (0.0889), and Hindi (0.2264); Qwen led Japanese (0.1425), and GLM led Chinese (0.1264). These are directional leaders: every paired top-versus-runner-up 95% bootstrap interval crossed zero.

Configuration matters as much as model size. Paddle and EasyOCR changed language readers, while the evaluated docTR checkpoint was Latin-oriented. Hunyuan reports training across more than 130 languages; Qwen3-VL reports broad multilingual document pretraining. GLM’s published multilingual evaluation does not list Hindi, and it capped 136 of 180 Hindi pages in this run.

Accuracy by image type


This view holds the language mix constant and groups the pages by document form. Each category contains 150 pages, making it possible to separate clean text recognition from layout, handwriting, screenshot, and degradation behavior.

Top three observed OCR character error rates for each image type

Paddle led simple print (0.1650). Hunyuan led complex layouts (0.2716), tables/forms (0.1650), and controlled handwriting (0.0095). Qwen led screenshots/UI (0.0423) and camera/degraded pages (0.3014). Hunyuan and Qwen were nearly tied on complex and degraded pages, and all six top-versus-runner-up bootstrap intervals crossed zero.

The architectural split is useful: conventional detector-recognizer OCR excels on clean localized text, while page-level VLM context helps with layout and serialization. The handwriting result remains controlled-heavy and should not be generalized to natural handwriting from multiple writers.

Controlled-to-real domain shift


To expose benchmark optimism, we compare controlled-rendered pages with public-real MDPBench-origin pages. The groups are source-stratified rather than matched page pairs, so the chart measures a deployment-relevant domain gap rather than a causal degradation estimate.

Dumbbell chart comparing controlled-rendered and public-real OCR accuracy

Every system was substantially worse on the 195 public-real MDPBench-origin pages. Hunyuan moved from 0.057 CER to 0.477, Qwen from 0.051 to 0.523, GLM from 0.141 to 0.519, and Paddle from 0.152 to 0.587. This is source-stratified rather than a matched-pair experiment, but it clearly shows that rendered pages overstate deployed accuracy.

Token-limit effect


For generative OCR, a response that reaches the 1,024-token ceiling may be a partial transcription rather than a completed page. The chart separates completed and capped outputs so that this decoding limit is visible instead of being hidden inside aggregate CER.

Dumbbell chart comparing completed and token-capped OCR output accuracy

Generative systems used deterministic decoding. Capped pages had approximately 0.40 higher CER than completed pages across every model. Surya reached the limit on 507 pages and Granite on 468; both require an official higher-cap rerun before their rankings are stable. Qwen capped 222 pages, Hunyuan 184, and GLM 263.

An actual page and inference result


The example below is MDPBench-origin page ocr900v2_en_tables_forms_10. Click either image to inspect it at full resolution.

Source page

Full-resolution MDPBench-origin source table

PaddleOCR geometry overlay

Full-resolution PaddleOCR polygon overlay generated from inference JSON

The red regions come directly from PaddleOCR’s inference JSON; they were not recreated manually.

ModelPage CER Infer (s) Result
GLM-OCR0.42%4.94Markdown
HunyuanOCR1.05%6.04Markdown
QwenOCR1.15%5.38Markdown
SuryaOCR32.46%15.85HTML; capped
PaddleOCR41.26%0.16Text, polygons, confidence

Paddle detected useful geometry but flattened the table into a reading order that lost cell relationships. The generative models reconstructed it more faithfully but did not emit confidence or grounded regions. Plain CER and document structure must remain separate metrics.

Cross-check with the official MDPBench evaluator


We passed the 195-page MDPBench-origin subset through the pinned official evaluator. This is a subset result, not a leaderboard submission. Direction arrows in the table headings identify how each official metric should be read.

ModelText edit Formula CDM Table TEDS Order edit
PaddleOCR0.51720.02880.00000.3737
EasyOCR0.57710.00000.00430.4302
docTR0.81940.01310.00000.5042
GLM-OCR0.43710.66360.23060.3842
Granite Docling0.73440.00870.00000.5823
HunyuanOCR0.36310.63190.41200.3422
QwenOCR0.37100.47840.37290.3527
SuryaOCR0.67170.00000.24570.5354

Hunyuan led text edit distance, table TEDS, and reading order on this subset; GLM led formula CDM; Qwen stayed close on text and tables.

Latency and throughput


This visual answers the operational speed question independently of OCR accuracy. Inference percentiles exclude one-time model load, while wall throughput includes measured per-page end-to-end overhead in the sequential run. Filled dots mark p50, outlined dots mark p95, and every value remains printed beside its mark.

OCR model latency and wall-throughput profile

Memory and GPU-board energy


Peak VRAM determines whether a model fits the target GPU; active energy shows the measured GPU-board work per page during inference. These values describe this single-page, unbatched configuration and should not be treated as datacenter power estimates.

OCR model GPU memory and active-energy profile

Energy is trapezoid-integrated sampled GPU-board power during each inference window. It excludes cold load, CPU and host power, cooling, and batching effects; it is not a wall-socket cost estimate.

Output contracts


Accuracy metrics score the transcription, but production systems also need to know what can be rendered or traced back to the page. This capability matrix distinguishes plain or structured text from geometry and confidence outputs in the evaluated model path.

OCR model output-capability matrix

A text-only RAG ingestion system and a click-to-highlight document viewer have different winners even if their CER is identical. Geometry and confidence are first-class deployment requirements, not secondary presentation features.

Deployment interpretation

  • Fast multilingual text with geometry and confidence: PaddleOCR is the strongest evaluated baseline. It combines 0.145-second p50, 268 wall pages per minute, modest VRAM, and 0.2509 CER.
  • Lowest observed plain-text error: HunyuanOCR and QwenOCR form the leading tier. Hunyuan has the lower mean CER; Qwen has the lower NormED and stronger observed screenshot/degraded results.
  • Smaller generative OCR: GLM-OCR offers 0.2299 CER at 6.4 GiB peak VRAM and the best observed Chinese result, with no boxes in the tested base-model path.
  • Structured HTML OCR: SuryaOCR cannot be judged from headline CER until its generation budget matches the expected output length.
  • Maximum speed: docTR becomes compelling only with a recognizer configured for the required scripts. The default checkpoint in this run is not a five-language solution.

A practical production architecture may use a cascade: grounded PaddleOCR first, then a page-level VLM when confidence, language, layout, or table signals indicate that line OCR is insufficient.

Limitations

  1. The suite remains 66.4% controlled content; every system was worse on public-real pages.
  2. Pages without independent reference text contribute runtime data but not text-accuracy metrics.
  3. Thirty pages per language/type cell expose large effects but cannot prove small winner gaps.
  4. The 1,024-token ceiling disproportionately penalizes Surya and Granite.
  5. CER does not fully score structure or geometry, and the runtime profile covers sequential single-page inference on one GPU only.

Next research direction

From benchmark evidence to deployment policy

  1. Add a public-real challenge track. Keep this balanced 900-page suite as the controlled baseline, then report a separate matched-page track with more camera captures, handwriting, UI, and complex layouts backed by native-reviewed references.
  2. Measure long-output scaling. Add explicit 2,048- and 4,096-token tracks for generative OCR while retaining the current fixed-budget result, then report how completion, structure quality, latency, and energy change with output length.
  3. Validate an adaptive production cascade. Compare grounded OCR followed by selective VLM escalation at batch sizes 1, 4, and 8, using the official MDPBench and OmniBench evaluators alongside latency, geometry retention, VRAM, and energy.

Conclusion

The benchmark separates three deployment choices that a single OCR score would hide.

PaddleOCR is the strongest low-latency grounded baseline. HunyuanOCR and QwenOCR provide the lowest observed text error when page-level reasoning matters, at much higher compute and memory cost. GLM-OCR is a smaller generative alternative with particularly strong Chinese performance. Surya, Granite, and docTR need corrected generation, vocabulary, or pipeline configurations before their current rows should be read as final capability rankings.

The central result is not that one system wins every page. Language, document structure, output contract, and GPU budget change the correct model choice—and controlled OCR accuracy is not a substitute for public-real evaluation.

Evaluation reference

Share this article

Try VoicePing for Free

Break language barriers with AI translation. Start with our free plan today.