Industry & Use Cases

Best Local OCR Model (2026): Open-Weight OCR for PDFs, Forms and Handwriting in Regulated Industries

The OCR models you can run on your own hardware in October 2026, checked on Hugging Face and GitHub: PaddleOCR-VL-1.6, MinerU2.5-Pro, GLM-OCR, dots.mocr, olmOCR 2, LightOnOCR-3, Chandra 2 and the classic engines, with licences, GPU memory, serving support and what olmOCR-Bench and OmniDocBench really measure.

The best local OCR model for most document pipelines in 2026 is a small document-tuned vision-language model: PaddleOCR-VL-1.6 (0.9B, Apache 2.0), MinerU2.5-Pro (1.2B, Apache 2.0) or GLM-OCR (0.9B, MIT), each of which turns scans into Markdown with tables and fits on a single modest GPU. LightOnOCR-3 and Chandra 2 lead on olmOCR-Bench, while Tesseract remains the CPU baseline for clean printed pages.

Quick picks by document type

These picks come from model cards, GitHub repositories, the OmniDocBench leaderboard and the serving lists of vLLM, llama.cpp and Ollama, all checked on 22 October 2026. Benchmark figures are the vendors’ own unless stated.

JobPickWhy
Mixed scans to Markdown, one GPUPaddleOCR-VL-1.696.34 on OmniDocBench v1.6, 0.9B, Apache 2.0, official GGUF
Long PDFs with tables across pagesMinerU2.5-ProCross-page table and paragraph merging; 2.12 pages a second on one A100
Field extraction from IDs and formsGLM-OCRFills a JSON schema you supply; in Ollama, vLLM and llama.cpp
Many languages and scriptsdots.mocrBuilt for multilingual layout parsing; MIT
English archives in batcholmOCR 2Toolkit renders, rotates and retries pages; 82.4 on olmOCR-Bench
Boxes for every blockLightOnOCR-3-4BGrounding mode labels each block with coordinates; Apache 2.0
CPU only, clean printTesseract 5.5 or PP-OCRv6No GPU, word-level positions

Why document-heavy industries keep scans inside the network

The pages that most need OCR are often the ones least suited to a public API:

  • Banks read account statements, payslips, passports and utility bills for KYC and lending files. See the finance document processing use case.
  • Insurers receive claim forms, repair estimates and photographed documents at first notice of loss, as in the claims triage use case.
  • Healthcare providers still receive referrals and prior-authorisation paperwork by fax. Under HHS guidance, a cloud provider that stores or processes electronic protected health information is a business associate and needs a business associate agreement, even when it cannot view the data.
  • Law firms scan exhibits and productions for review, where privilege decides who may see a page.
  • Government agencies process benefit applications, permits and identity documents, often in networks with no internet route. The government document classification use case covers that intake.

A cloud OCR service can be made to fit some of these rules with contracts and regional hosting. A model on your own GPU removes the question: the page image, the extracted text and the logs never leave. For the vendor side of that decision, our comparison of document AI services that run on premise covers Azure containers, Google, SAP and Mistral.

Open OCR models compared, October 2026

Sizes are Hugging Face parameter totals, including the vision encoder. “vLLM” means the architecture appears in vLLM’s supported-model list or the vendor publishes a vLLM recipe.

Model (vendor)SizeWeights licenceStrengthsServing confirmed
PaddleOCR-VL-1.6 (Baidu PaddlePaddle)0.96BApache 2.0Tables, formulas, charts, seals and stamps; May 2026vLLM, llama.cpp (official GGUF), PaddleOCR
MinerU2.5-Pro-2605 (OpenDataLab)1.2BApache 2.0PDF to Markdown, cross-page tables, charts; May 2026vLLM (Qwen2-VL architecture), Transformers
GLM-OCR (Z.ai)0.9B (1.3B on the Hub)MITSchema-driven field extraction, tables, formulas; January 2026vLLM, SGLang, llama.cpp, Ollama
dots.mocr (rednote, now dots-studio)3.0BMITMultilingual layout, charts to SVG; March 2026vLLM, llama.cpp (dots.ocr GGUF)
DeepSeek-OCR-2 (DeepSeek)3.4BApache 2.0256 to 1,120 visual tokens per page; January 2026vLLM; Ollama and llama.cpp carry the first version
olmOCR-2-7B-1025 (Ai2)8.3BApache 2.0English documents, maths, tables, old scans; October 2025vLLM through the olmOCR toolkit
LightOnOCR-3 (LightOn)0.8B, 1B, 4BApache 2.0Labelled bounding boxes, charts to tables; October 2026vLLM
Chandra OCR 2 (Datalab)5.3BModified OpenRAIL-MHandwriting, forms, 90+ languages; March 2026vLLM, Transformers
Surya OCR 2 (Datalab)0.7BModified OpenRAIL-MLayout, reading order and tables in one model; May 2026vLLM, llama.cpp
Nanonets-OCR2-3B (Nanonets)3.8BNone statedSignatures, watermarks, checkboxes, handwritingvLLM (Qwen2.5-VL architecture)
HunyuanOCR-1.5 (Tencent)1.1BTencent Hunyuan Community LicenseParsing, text spotting, extraction, translationvLLM, llama.cpp
Granite-Docling-258M (IBM)0.26BApache 2.0Compact converter inside DoclingvLLM (Idefics3), IBM GGUF

Two more Baidu releases are worth a test if Chinese and English dominate your pages: Qianfan-OCR (4.7B, Apache 2.0) and Unlimited-OCR (3.3B, MIT), which parses several pages in one request. General vision models also read documents. Qwen3.5 and Gemma 4 are the usual choices, and our local vision model guide covers them, but Datalab’s run of olmOCR-Bench scored Qwen3-VL 8B at 64.6, well below the specialists.

Classic engines still worth a baseline

Tesseract released 5.5.3 on 24 July 2026 and remains Apache 2.0, CPU-only and oriented to printed text. PaddleOCR shipped PP-OCRv6 detection and recognition models in June 2026, in tiny, small and medium sizes, several with ONNX builds. docTR reached version 1.1.0 in August 2026 under Apache 2.0.

Keep one of them in the pipeline even after you adopt a VLM. Classic engines return word coordinates you can draw on the page, they are cheap enough to run on every page, and their errors look like errors. A vision-language model can produce a clean sentence that is not on the page. When the two disagree on a field, that disagreement is a better trigger for human review than any single model’s output.

Licence traps in OCR weights

OCR is the corner of open AI where “open” varies most. Read the weights licence, not only the code licence:

  • HunyuanOCR excludes three territories. The Tencent Hunyuan Community License does not apply in the European Union, the United Kingdom or South Korea, and forbids using the model or its output outside its licensed territory. European banks and insurers should rule it out.
  • Datalab’s weights have revenue limits. Chandra 2 is free under its modified OpenRAIL-M licence only for organisations below $2 million in revenue and funding; Surya OCR 2 sets the line at $5 million. Larger users need a commercial licence, and the Chandra terms bar use that competes with Datalab’s API.
  • MinerU’s toolkit adds conditions. The MinerU2.5-Pro weights are Apache 2.0, but the MinerU software uses Apache 2.0 with extra terms: a separate commercial licence once a group passes 100 million monthly active users or $20 million in monthly revenue, and attribution for online services built on it. Most large banks and insurers cross that revenue line.
  • No licence means no grant. Nanonets-OCR2-3B’s model card states no licence. Until the vendor publishes one, assume you have no right to deploy it.
  • Mistral OCR 4 is not open weight. Mistral announced it on 23 June 2026 as a model that runs in a single container for fully self-hosted deployments, available to enterprise customers by agreement. There are no public weights to evaluate first.

What olmOCR-Bench and OmniDocBench measure

Two benchmarks dominate OCR model cards, and both are built by teams that also ship OCR models.

olmOCR-Bench comes from Ai2, the maker of olmOCR. It has 1,403 PDF files and 7,010 unit tests in English, grouped into arXiv maths, old scans, tables, headers and footers, multi-column pages, long tiny text and a baseline set. A test passes when the output keeps a fact the page contains, or drops content a good conversion should drop.

OmniDocBench comes from OpenDataLab, the team behind MinerU. Its current edition covers 1,651 PDF pages across ten document types, from academic papers and financial reports to newspapers, textbooks and handwritten notes. Version 1.6 in April 2026 added 296 harder pages, and the overall score averages text accuracy, table structure and formula recognition.

Four reasons to treat the numbers as a shortlist rather than a verdict:

  1. Scores are mostly self-reported. Chandra 2 reports 85.8 on olmOCR-Bench, LightOnOCR-3-4B reports 86.3, and dots.mocr reports 83.9, each from its own pipeline and settings.
  2. Conventions move scores. Nanonets-OCR2-3B scores 32.1 on the headers-and-footers category in dots.mocr’s comparison because it keeps them; for a KYC file, keeping the bank’s footer may be exactly what you want. LightOn notes that normalising raw output changes overall scores noticeably.
  3. Versions change fast. MinerU2.5-Pro claimed the top OmniDocBench v1.6 score in spring 2026; PaddleOCR-VL-1.6 passed it in late May; in October 2026, newer entries such as TeleOCR and OvisOCR2 sit above both.
  4. Your documents are missing. Neither benchmark has fax artefacts, rubber stamps over text, carbon-copy claim forms or photographed passports at an angle.

Handwriting, stamps and faxes

The hard pages in regulated work are rarely the ones benchmarks emphasise. Three groups need their own test set:

  • Handwriting. Chandra 2 and Surya OCR 2 publish handwritten form and note examples, Nanonets-OCR2 says it trained on handwriting in several languages, and LightOnOCR-3-4B scores 46.1 on the handwritten pages of a French benchmark, its family’s best. Expect accuracy well below printed text and route handwritten fields to review by default.
  • Stamps and seals. PaddleOCR-VL-1.6 lists improved seal and stamp recognition, and MinerU2.5-Pro-2605 lists seals among its image-parsing gains. Received-date stamps on claims and court filings are often the field that matters most.
  • Faxes and photocopies. Low resolution and noise favour models that take higher-resolution input. LightOn reports its best olmOCR-Bench scores at 400 DPI, about 4,800 image tokens per page, so scan quality and rendering settings matter as much as the model.

GPU memory and throughput

OCR models are small, so weights rarely decide the hardware. Image tokens and output length decide throughput.

ModelBF16 weightsNotes
Granite-Docling-258M0.5 GBRuns inside the Docling converter
Surya OCR 21.4 GBGPU through vLLM, CPU or Apple Silicon through llama.cpp
PaddleOCR-VL-1.61.9 GBPaddleOCR also targets CPUs and NPUs
HunyuanOCR-1.52.2 GBSpeculative decoding draft included
MinerU2.5-Pro2.3 GB2.12 pages a second on one A100 with vLLM, per OpenDataLab
GLM-OCR2.7 GB1.86 PDF pages a second at single concurrency, per Z.ai
dots.mocr6.1 GB
DeepSeek-OCR-26.8 GB256 to 1,120 visual tokens per page
LightOnOCR-3-4B9.1 GBAbout 4,800 image tokens per page at 400 DPI
Chandra OCR 210.6 GB
olmOCR-2-7B-102516.6 GBAi2 recommends the FP8 build, about half that

At MinerU’s quoted rate, one A100 processes about 183,000 pages in 24 hours. A 24 GB card holds any model in the table with room for batching, which is where throughput comes from.

Serving OCR models with vLLM, llama.cpp and Ollama

Checked on 22 October 2026:

  • vLLM lists dedicated architectures for DeepSeek-OCR and DeepSeek-OCR-2, dots.ocr, GLM-OCR, HunyuanOCR, LightOnOCR, PaddleOCR-VL, Qianfan-OCR and Unlimited-OCR. olmOCR, MinerU2.5-Pro, Nanonets-OCR2, Chandra 2 and LightOnOCR-3-4B run on the Qwen2-VL, Qwen2.5-VL or Qwen3.5 architectures it already supports.
  • llama.cpp names PaddleOCR-VL, GLM-OCR, DeepSeek-OCR, dots.ocr and HunyuanOCR in its multimodal documentation, and warns that each needs its own prompt format. llama.cpp’s maintainers publish GGUFs for GLM-OCR, DeepSeek-OCR, dots.ocr and Qianfan-OCR; PaddlePaddle and IBM publish their own.
  • Ollama carries glm-ocr and deepseek-ocr, plus general vision models. It is the quickest way to try OCR on a laptop, and the least suited to batch archives.

A local OCR pipeline: from page image to approved record

A model choice is one step in five. Each step produces something a reviewer or auditor can check:

  1. OCR and layout. Classify each file first; born-digital PDFs keep their text layer and skip OCR. Scanned pages go to the VLM for Markdown with reading order, tables and block coordinates.
  2. Extraction. Map text to the fields the workflow needs, such as account number, policy number, date of loss or referral reason. GLM-OCR can fill a JSON schema directly; otherwise a language model reads the Markdown.
  3. Validation. Check every field in code: check digits, date ranges, totals that add up, names that match the customer record, values that appear verbatim on the page.
  4. Human review. Send low-confidence fields, engine disagreements and every handwritten value to a reviewer who sees the page region beside the extracted value.
  5. Record. Store the page image, the extracted value, the model version and the reviewer’s decision together, so any figure can be traced to its source.

Our guide to extraction, validation and routing goes deeper on steps 2 to 4, and the scanned-document RAG guide covers layout and chunking for search.

How VDF AI fits document-heavy workflows

VDF AI runs on the customer’s own servers, private cloud or air-gapped network, so page images, extracted fields and audit logs stay in that environment. Agents read documents through tools: the OCR tool can use a local Tesseract engine that never leaves the perimeter, a document parser handles PDFs and Office files, and image analysis can run on a vision model on your own GPUs.

VDF AI Router registers local model endpoints served through vLLM, Ollama or another self-hosted server, so a PaddleOCR-VL or GLM-OCR deployment can sit behind the same governed routing as your other models, and air-gap mode keeps every request local. The document analysis agent reads scanned PDFs with OCR and answers questions with the source passage cited. For intake workflows, agents can apply the validation rules above, human approval gates hold high-risk steps for a person, and each run lands in the audit log. Role-based access keeps a claims handler’s documents separate from a KYC analyst’s. A three-month platform trial lets a team test the setup on its own scanned files first.

Sources

Verified 22 October 2026.


Reading scans without sending them out? See the OCR tool or book a demo.

Frequently asked questions

What is the best OCR model in 2026?

For self-hosting, the leading group in October 2026 is a set of small vision-language models built only for documents. PaddleOCR-VL-1.6 (0.9B, Apache 2.0) holds the best score among the models reviewed here on OmniDocBench v1.6, MinerU2.5-Pro (1.2B, Apache 2.0) is close behind, and GLM-OCR (0.9B, MIT) adds JSON field extraction and runs in Ollama. On olmOCR-Bench, LightOnOCR-3-4B and Chandra 2 report the highest self-measured scores. The closed Mistral OCR 4 is also available as a self-hosted container, but only by agreement with Mistral.

Which OCR models can run in Ollama?

Ollama's library carries two OCR-specific models: glm-ocr, about 1.8 GB at 8-bit or 2.7 GB in BF16 with a 128K window, and deepseek-ocr, the original 3B DeepSeek-OCR at 6.7 GB with an 8K window. General vision models such as qwen3.5, gemma4 and qwen3-vl also read documents, but score lower on full-page conversion than the specialists. PaddleOCR-VL, MinerU, olmOCR, dots.mocr and LightOnOCR are not in the library; serve them with vLLM, or with llama.cpp where a GGUF exists.

What is the best local OCR for handwriting?

Treat handwriting as its own test, because benchmarks barely cover it. Datalab lists handwriting as a strength of Chandra 2 and shows cursive and handwritten-form examples, but its weights need a paid licence above $2 million in revenue or funding. LightOnOCR-3-4B, under Apache 2.0, scores best of its family on the handwritten pages of a French benchmark at 46.1, which shows how hard the task still is. Nanonets-OCR2 is trained on handwriting too but states no licence. Tesseract is built for printed text.

What is the best OCR model for PDF to Markdown?

For full PDFs, pick a model with layout and reading order rather than a line recogniser. MinerU2.5-Pro merges paragraphs and tables that run across pages and parses charts, and its 1.2B weights use Apache 2.0, though the MinerU toolkit adds licence thresholds for very large companies. PaddleOCR-VL-1.6 leads OmniDocBench at 0.9B. olmOCR 2 is the batch option for English archives, with a toolkit that renders, rotates and retries pages. Born-digital PDFs should skip OCR entirely and use their text layer.

Is an LLM better than Tesseract for OCR?

For complex pages, usually yes. Document-tuned vision-language models recover tables, reading order, formulas and checkboxes that Tesseract does not attempt, and they handle poor scans and mixed layouts better. Tesseract still has a place: it runs on CPUs, returns word positions in hOCR and ALTO formats, and fails visibly rather than inventing plausible text. Many teams run both, using agreement between a classic engine and a VLM as a confidence signal and sending disagreements to review.

Filed under
open-weight modelsvision language modelsdocument automationon-premises AIregulated AIvLLM
On-Prem AI

Plan your on-prem AI deployment

Book an architecture call and we will scope a private, on-prem AI deployment for your environment — integrations, hardware, and governance included.

Keep reading