What is Xiaomi-OCR-0?
Xiaomi-OCR-0 is an open document-recognition model from Xiaomi's research group, released with a technical report on 30 September 2026 under the Apache 2.0 licence. It is a fine-tune of Qwen3.5-0.8B-Base, and the single 1.75 GB checkpoint handles three jobs: converting a page to Markdown with tables in OTSL and formulas in LaTeX, answering questions about a document, and extracting fields into a JSON schema you supply.
Xiaomi trained it on about 170 million samples. Most of the parsing labels came from a pool of other OCR models, including PaddleOCR-VL-1.6, MinerU2.5-Pro, GLM-OCR, TeleOCR and OvisOCR2, kept where three of them agreed and re-checked by rendering the answer back to an image where they did not. A final reinforcement-learning stage mixes parsing and question-answering rewards.
The headline parsing scores use a two-stage set-up: PaddleX's PP-DocLayoutV3 finds the regions, and Xiaomi-OCR-0 reads each crop. The model card offers Transformers code, and the GitHub repository adds vLLM and SGLang instructions, batch scripts, an MCP service and a browser demo.
Is Xiaomi-OCR-0 worth it?
Xiaomi-OCR-0 is among the most accurate open OCR models under 1B parameters, and it does more than transcribe. On OmniDocBench v1.6 Xiaomi reports 96.83 overall, against 96.87 for TeleOCR at 1.2B, 96.58 for OvisOCR2 and 96.33 for PaddleOCR-VL-1.6. It also scores 97.84 on UniMER-Test for formulas and 92.27 on PubTabNet for tables. These are Xiaomi's own runs, though they are close to the figures other labs publish for the same rivals.
The Real5-OmniDocBench claim is shakier. Xiaomi reports 95.24 and calls it first place; when OpenBMB ran Xiaomi-OCR-0 through its own harness for the MiniCPM-OCR launch table, it scored 92.73, behind PaddleOCR-VL-1.6's 93.19 in the same table. Both labs give PaddleOCR-VL-1.6 the same 93.19, so the gap is in how Xiaomi's model was run, not the benchmark version. On Wild-OmniDocBench the two tables disagree for every model, so neither figure there settles much.
The broader skill set is the better argument. Across DocVQA, InfoVQA, ChartQA, OCRBench and TextVQA it averages 83.2, above Qwen3.5-2B's 80.9 and 10.3 points above the Qwen3.5-0.8B it started from, and the same checkpoint fills a JSON schema from a receipt or form. Xiaomi's own ablation shows the limit: a 4B model trained the same way scores 88.1 on those question-answering tests, so the small size costs about five points on understanding while costing almost nothing on parsing.
Speed is middling. In OpenBMB's throughput test on an RTX 5090, Xiaomi-OCR-0 managed 0.724 pages a second against 1.217 for MiniCPM-OCR 1.0 and 0.818 for PaddleOCR-VL-1.6. Xiaomi publishes no speed figures of its own. The weights are small enough for a laptop, but the 1.8 GB Ollama package and the GGUF builds are community work that Xiaomi says it has not evaluated; its own Ollama check matched the reference output on 5 of 7 pages.
Where it earns its place
A back-office developer at a 40-person accounting firm
Pull dates, totals and tax IDs out of scanned receipts into a database
Send each image with the 'Extract key information in the image' prompt and a JSON schema of the fields wanted; the card's receipt example returns date, seller, GST ID, total and tax. Validate totals before import, since the output is generated text, not a parsed form.
An ML engineer at a scientific publisher converting archive PDFs
Turn pages dense with equations and tables into Markdown and LaTeX
Run the two-stage pipeline from the GitHub repository with PP-DocLayoutV3 at the 0.25 threshold Xiaomi used, which reproduces the 97.84 UniMER and 92.27 PubTabNet set-up. For handwriting, calligraphy and irregular layouts Xiaomi advises whole-page mode instead.
A developer building a local document assistant on a 16 GB laptop
Answer questions about invoices and charts without a cloud API
Pull the community BF16 Ollama package (about 1.8 GB) and use the repository's MCP service, which applies Xiaomi's preprocessing and decoding settings. Treat accuracy as unverified: Xiaomi matched its reference output on only 5 of 7 test pages in Ollama.
Before you commit
- Setup
- Install the pinned stack (transformers 5.17.0, torch 2.14.0) and load it with AutoModelForImageTextToText; no trust_remote_code is needed. Region mode and the benchmark set-up also need PaddlePaddle, PaddleX and PP-DocLayoutV3.
- Integrations
- Transformers, vLLM and SGLang releases that support Qwen3_5ForConditionalGeneration; an MCP service, browser demo and agent skill in the GitHub repository; community GGUF for llama.cpp and an NInfer BF16 build; weights mirrored on ModelScope.
- Data and privacy
- Apache 2.0 with no use restrictions. Self-hosted only, so documents stay on your hardware; training labels were largely produced by other open OCR models.
- Cost at scale
- The checkpoint is 1.75 GB and runs on one consumer GPU. OpenBMB measured 0.724 pages a second on an RTX 5090 at concurrency 1, so a single card covers roughly 2,600 pages an hour before batching; Xiaomi publishes no throughput figures.
- Limits
- Config allows 262,144 positions; the sample code caps output at 4,096 new tokens per page. Region mode can lose context on scene text, handwriting and historical books, and community quantisations are untested by Xiaomi.
What’s good
- 96.83 on OmniDocBench v1.6 at 0.8B (self-reported)
- Parsing, document question answering and JSON field extraction in one checkpoint
- Averages 83.2 on five document-QA benchmarks, above Qwen3.5-2B
- Apache 2.0; 1.75 GB checkpoint
What’s not
- OpenBMB measured 92.73 on Real5-OmniDocBench, not Xiaomi's 95.24
- Slower than MiniCPM-OCR 1.0 and PaddleOCR-VL-1.6 in OpenBMB's test
- Headline parsing scores need the separate PP-DocLayoutV3 layout model
- GGUF and Ollama builds are community-made and unvalidated
Best for
Teams that want one small Apache-licensed model for both page-to-Markdown parsing and field extraction from forms and receipts.
Xiaomi-OCR-0 alternatives
Xiaomi-OCR-0: common questions
- Is Xiaomi-OCR-0 worth it?
- Xiaomi-OCR-0 reads a page about as well as models half again its size, but its best headline number is one a rival lab could not reproduce. We rate it 4.1 out of 5.
- How much does Xiaomi-OCR-0 cost?
- Free under Apache 2.0. No hosted API from Xiaomi.
- What are the downsides of Xiaomi-OCR-0?
- OpenBMB measured 92.73 on Real5-OmniDocBench, not Xiaomi's 95.24; slower than MiniCPM-OCR 1.0 and PaddleOCR-VL-1.6 in OpenBMB's test; headline parsing scores need the separate PP-DocLayoutV3 layout model; gGUF and Ollama builds are community-made and unvalidated.
- Who is Xiaomi-OCR-0 best for?
- Teams that want one small Apache-licensed model for both page-to-Markdown parsing and field extraction from forms and receipts.
- How much does Xiaomi-OCR-0 cost for a team or in production?
- The checkpoint is 1.75 GB and runs on one consumer GPU. OpenBMB measured 0.724 pages a second on an RTX 5090 at concurrency 1, so a single card covers roughly 2,600 pages an hour before batching; Xiaomi publishes no throughput figures.
- Is Xiaomi-OCR-0 safe for company data?
- Apache 2.0 with no use restrictions. Self-hosted only, so documents stay on your hardware; training labels were largely produced by other open OCR models.
- What are the best Xiaomi-OCR-0 alternatives?
- The closest alternatives we have reviewed are MiniCPM-OCR 1.0, PaddleOCR-VL-1.6, Surya OCR 2.5 and Unlimited-OCR 2.
Answers checked Nov 2, 2026.