Skip to content
ReviewRamble

The weekly brief

AI, reviewed, in your inbox.

  • New reviews of tools, models, MCP servers and repos, with the verdict up front
  • Re-checked prices and ratings when something changes
  • New analysis pieces as they are published

Models, agents, MCP servers and the tools actually worth your time.

One email a week. Unsubscribe with the link in any brief. How we use your email

dots.ocr

Xiaohongshu's 2025 multilingual layout parser is still heavily downloaded, but its own makers and three newer rivals have moved past it.

Reviewed by Andrew Miller · Updated

Visit dots.ocr Open source

Our rating

3.6/5

It made single-model layout parsing credible in 2025, but in late 2026 it is the version its own makers have replaced.

What is dots.ocr?

dots.ocr is an open document-parsing model from rednote hi lab, the AI group at Xiaohongshu, released on 30 July 2025 under the MIT licence. One vision-language model handles both layout detection and reading: it returns each block's bounding box, category and text, with tables as HTML, formulas as LaTeX and everything else as Markdown, in reading order. The Hugging Face API counts 3.04 billion parameters, a 1.7-billion-parameter language model plus a 42-layer vision encoder.

The weights now sit under the dots-studio organisation on Hugging Face and the code under studio-dots-ai on GitHub, where the last commit was on 24 March 2026. A base checkpoint followed on 31 October 2025, and in March 2026 the team released dots.mocr, a successor of the same size that also converts charts and figures to SVG.

Is dots.ocr worth it?

dots.ocr was a strong parser when it launched and is now a middling one. Its card reports 79.1 on olmOCR-bench and table TEDS of 88.6 in English on the original OmniDocBench, ahead of MinerU, Marker and Gemini 2.5 Pro at the time. Those are its makers' figures, some borrowed from the MonkeyOCR and olmOCR projects and some from internal runs, with page headers and footers stripped before scoring.

Newer rivals have since rerun it and placed it lower. FireRedTeam's comparison puts it at 88.41 on OmniDocBench v1.5, behind DeepSeek-OCR 2 at 91.09 and PaddleOCR-VL at 92.86, and at 71.0 on PubTabNet tables. On FireRedBench's awkward real-world pages it scores 72.93. These come from competitors with an interest in the result, but they agree on the direction.

Its distinctive strength is breadth of language. The in-house dots.ocr-bench covers 1,493 PDF pages in 100 languages, and there the team reports an overall edit distance of 0.177 against 0.251 for Gemini 2.5 Pro. Layout detection in the same report beats DocLayout-YOLO, 0.831 against 0.733 F1. No independent multilingual test exists, so the claim rests on a benchmark its makers built.

The operating story has not aged well. Serving with vLLM means patching the vllm launcher with sed to register the model, saving weights in a directory without full stops, and enabling trust_remote_code; the card's own evaluations used vLLM 0.9.1. The limitations section warns that runs of ellipses or underscores can make output repeat endlessly, that pictures are not parsed, and that the model is not optimised for high-volume PDF work. dots.mocr, released by the same team in March 2026 at the same size, addresses the picture gap and posts 84.0 on olmOCR-bench in TII's Falcon OCR comparison.

Where it earns its place

  • A localisation vendor processing scanned manuals in dozens of languages

    Extract text with layout positions from documents in low-resource scripts

    The layout prompt returns boxes, categories and text in reading order from one call. The multilingual lead is measured on the team's own 1,493-page benchmark, so validate on a sample of your languages first.

  • An ML engineer with a dots.ocr pipeline already in production

    Decide whether to keep it or migrate

    The prompts and output schema are stable, but the same team's dots.mocr is the same size and adds chart and figure parsing. A side-by-side run on your own pages is cheaper than switching on reputation.

  • A document-AI researcher building a layout-detection baseline

    Compare a VLM layout detector with YOLO-style detectors

    The detection-only prompt reports 0.845 F1 against 0.733 for DocLayout-YOLO on the team's benchmark, and the MIT weights can be fine-tuned without licence questions.

Before you commit

Setup
Python 3.12, torch 2.7.0 on CUDA 12.8, pip install -e . from the GitHub repository, then a download script; or the rednotehilab/dots.ocr Docker image built on the official vLLM image.
Integrations
vLLM server with an OpenAI-style API after a launcher patch, Transformers with flash-attention 2, prompt modes for full layout parsing, detection only, plain OCR and grounded OCR on a box.
Data and privacy
Self-hosted, so documents stay on your hardware. MIT permits any use; loading runs Python from the model repository.
Cost at scale
Weights are free and about 6 GB in BF16 for 3.04 billion parameters; the team publishes no throughput figure and says the model is not yet optimised for large PDF volumes.
Limits
Best below 11,289,600 pixels per image; a 200 DPI render is recommended; repeated special characters can cause endless output; pictures are skipped; no weight updates since 31 October 2025.

What’s good

  • Layout boxes, categories and text from one model
  • Reported multilingual lead on a 100-language in-house benchmark
  • MIT licence
  • 422,506 Hugging Face downloads in the last 30 days

What’s not

  • Benchmarks self-reported; outside reruns place it behind newer models
  • Superseded by the same team's dots.mocr
  • vLLM setup needs a sed patch and trust_remote_code
  • Can loop on ellipses and underscores; pictures not parsed

Best for

Teams with existing dots.ocr pipelines, or that need bounding boxes and reading order for low-resource languages from a single MIT-licensed model.

dots.ocr alternatives

dots.ocr: common questions

Is dots.ocr worth it?
It made single-model layout parsing credible in 2025, but in late 2026 it is the version its own makers have replaced. We rate it 3.6 out of 5.
How much does dots.ocr cost?
Free under the MIT licence. No first-party hosted API.
What are the downsides of dots.ocr?
Benchmarks self-reported; outside reruns place it behind newer models; superseded by the same team's dots.mocr; vLLM setup needs a sed patch and trust_remote_code; can loop on ellipses and underscores; pictures not parsed.
Who is dots.ocr best for?
Teams with existing dots.ocr pipelines, or that need bounding boxes and reading order for low-resource languages from a single MIT-licensed model.
How much does dots.ocr cost for a team or in production?
Weights are free and about 6 GB in BF16 for 3.04 billion parameters; the team publishes no throughput figure and says the model is not yet optimised for large PDF volumes.
Is dots.ocr safe for company data?
Self-hosted, so documents stay on your hardware. MIT permits any use; loading runs Python from the model repository.
What are the best dots.ocr alternatives?
The closest alternatives we have reviewed are PaddleOCR-VL-1.6, DeepSeek-OCR 2, FireRed-OCR and Falcon OCR.

Answers checked Nov 2, 2026.