MiniCPM-OCR 1.0 Tested Locally: What It Gets Right and Wrong
MiniCPM-OCR 1.0 tested locally on handwriting, charts, old newspapers, and invoices. Here's what it got right, what it missed, and VRAM use.

What is MiniCPM-OCR 1.0?
MiniCPM-OCR 1.0 is an open-source document OCR model from OpenBMB, fine-tuned on top of the MiniCPM-V-4.6 vision-language base. It’s built for text-centric document understanding: reading printed text, handwriting, tables, formulas, and multi-column layouts, then converting them into structured markdown. It’s released under an Apache 2.0 license on Hugging Face, where it has already picked up over 55,000 downloads and 450 likes, putting it in the same wave of open OCR releases as Baidu’s ERNIE-based OCR models and other recent entrants.
Unlike simple text-extraction tools, MiniCPM-OCR is designed to preserve structure, meaning tables stay tables, formulas render as LaTeX, and reading order across columns is supposed to be maintained rather than flattened into a single text blob.
TL;DR
- MiniCPM-OCR 1.0 is an OpenBMB vision-language model fine-tuned from MiniCPM-V-4.6 specifically for document parsing, covering text, tables, formulas, and handwriting.
- In hands-on local testing, the model produced strong LaTeX structure for handwritten physics formulas (correct fractions, integrals, subscripts) but made symbol-level errors, like misreading momentum “p” as “rho.”
- On a dual-axis chart with summary cards, it nailed the text labels and cards but got the actual data table wrong, estimating bar values off by roughly a factor of ten against the chart’s axis.
- Reading a 1974 newspaper front page, it transcribed most headlines and body text accurately but merged neighboring columns and misplaced a sidebar into the wrong article.
- On a plain invoice, it preserved line items and product IDs correctly but dropped footer text like “thank you,” a weakness shared with rival OCR models tested on the same channel.
- The model struggled with non-Latin, non-Chinese scripts (Arabic, Urdu) while handling English and a rotated page layout reasonably well.
- Locally, it ran under 4 GB of VRAM during inference, though installation involved building VLLM and PaddlePaddle dependencies and took several hours.

How does MiniCPM-OCR handle handwriting and formulas?
The strongest result in testing came from a page of messy handwritten physics formulas. MiniCPM-OCR converted the page into LaTeX with the overall structure intact: fractions, integrals, subscripts, and square roots all rendered correctly, and the sequence of formulas matched the original page.
The errors were at the symbol level, not the structural level. The model misread the momentum variable “p” as the Greek letter “rho” in one equation, wrote a subscript as “m_we” when the handwriting showed “m_e,” and inserted an equals sign between two fractions where none existed. These aren’t layout failures, they’re character-recognition slips, which means a user could trust the skeleton of the output but still needs to proofread every symbol before relying on it for anything like a homework solution or technical reference.
Can it read charts and tables accurately?
This is where the model showed its clearest weakness. Tested on a dual-axis chart showing semiconductor export lead times and inventory ratios, MiniCPM-OCR correctly transcribed the four summary cards below the chart, including specific figures like a “620 billion peak export” figure and a “26 week” time reference.
But when it converted the chart itself into a table, the numbers came out wrong by roughly a factor of ten. Values that should have been in the billions (like 41,000 or 35,000) were output as 4,100 and 3,500. The model appears to be estimating values from bar heights visually rather than reading precise axis labels, which makes chart-to-table conversion something to treat as an approximation rather than an exact extraction, at least for now.
How well does it preserve reading order in complex layouts?
Tested on a 1974 New Zealand Herald front page, a genuinely hard target with grainy newsprint, a yellowed background, tiny multi-column text, and headlines of varying sizes, the model read most headlines and body copy correctly, including the old-style typeface and a photo caption.
The failure mode was reading order. In one story, the model merged text from two neighboring columns into a single jumbled sentence, and it dropped a sidebar into the middle of an unrelated article. It also misread some place names outright (Christchurch came out garbled). For old newsprint and multi-column layouts, raw text recognition is strong, but the logic that decides which column comes next, and where sidebars belong, still needs work.
Does it handle invoices and structured business documents well?
On a plain invoice with a header, address block, and line-item table, MiniCPM-OCR extracted all the line items and product IDs correctly. The table structure held together. Where it slipped was the footer: both the word “invoice” as a header label and a closing “thank you” line were dropped entirely from the output.
Without shadow IT.
This isn’t unique to MiniCPM-OCR. Other OCR models tested on the same documents showed the same tendency to miss footer text, suggesting it’s a common blind spot across current open OCR models rather than a flaw specific to this one. For anyone building invoice-processing pipelines, that means footers and closing boilerplate may need a separate verification pass.
How does it perform on multilingual and sealed documents?
Given an image mixing English, Arabic, Urdu, and Indonesian text (and rotated off the horizontal), the model handled the English text well despite the orientation issue. It attempted to read the Indonesian text too, likely because Indonesian uses Latin script similar to English. It failed on Arabic and Urdu entirely, which tracks with the model’s stated training focus: OpenBMB lists English and Chinese as the primary supported languages, not a broad multilingual spread.
On a Chinese supply contract featuring a red company seal stamped over a signature block, the model performed well. Body text, including contract clauses and the contract number, came out almost perfectly. It even picked up text inside the seal itself, missing only one character, which is a reasonably difficult target given seals often overlap printed text and use stylized fonts.
What are the hardware and installation requirements?
During local inference, MiniCPM-OCR 1.0 consumed under 4 GB of VRAM, making it accessible on fairly modest GPUs for actual usage. Installation, however, was reported as considerably more involved than comparable OCR tools. The setup process required cloning the repository, building a Python environment, installing PaddlePaddle with GPU support for structural parsing, handling various OS-level prerequisites, and compiling both the VL and LM components, a process that took one to two hours depending on system specs. After that, the model still needs to be served via VLLM with a specific launch command. Total setup time in testing ran roughly three to three and a half hours on a system with 48 GB of VRAM.
Is MiniCPM-OCR worth using?
Based on OpenBMB’s own published benchmarks, MiniCPM-OCR ranks competitively against around 15 other OCR models across six benchmark sets, including OmniDocBench and OLMOCR-bench, coming out on top in four of them and placing in the top right of the speed-versus-accuracy curve (meaning it processes more pages per second than most rivals while matching top-tier accuracy scores).
Independent hands-on testing broadly supports that picture for printed text, formulas, and Chinese-language documents, where results were consistently strong. The weak points are consistent too: chart-to-table conversion, multi-column reading order in dense or degraded documents, non-Latin/non-Chinese scripts, and footer text in structured documents like invoices. For anyone building a document pipeline, that suggests MiniCPM-OCR is a solid default for printed and Chinese-language content but still needs a human or secondary check for data extracted from charts and for anything in scripts outside English and Chinese.
Frequently Asked Questions
What is MiniCPM-OCR 1.0 based on?
It’s a fine-tune of OpenBMB’s MiniCPM-V-4.6 vision-language model, adapted specifically for OCR and document parsing tasks like table recognition and formula recognition.
How much VRAM does MiniCPM-OCR need to run locally?
In local testing, inference used under 4 GB of VRAM, though the build and installation process (compiling VLLM and PaddlePaddle components) was tested on a system with 48 GB of VRAM available.
Does MiniCPM-OCR support languages other than English and Chinese?

Its model tags list English and Chinese as the primary supported languages. In testing, it failed to read Arabic and Urdu text and struggled with non-Latin scripts generally.
Is MiniCPM-OCR accurate for converting charts into tables?
Not reliably. In testing, it read text labels and summary cards from a chart correctly but misread the actual data values, producing numbers off by roughly a factor of ten from the chart’s true axis scale.
How does installation compare to other OCR models?
Installation was reported as notably harder than comparable OCR tools, requiring manual environment setup, PaddlePaddle GPU installation, and building VLLM and LM components, taking several hours total versus simpler one-step installs for some competing models.

