# Baidu Unlimited-OCR-2

> Unlimited-OCR-2 is Baidu's open-weight document OCR model, about 3.3B parameters, that parses page images, from one page to documents of hundreds of pages in one request, into layout blocks with boxes and HTML tables, under MIT.

- Canonical: https://www.anchorterminal.com/tools/unlimited-ocr-2
- Pricing: https://www.anchorterminal.com/tools/unlimited-ocr-2#pricing
- Reviews: https://www.anchorterminal.com/tools/unlimited-ocr-2#reviews
- Markdown: https://www.anchorterminal.com/tools/unlimited-ocr-2.md (~9,950 tokens)
- Slim: https://www.anchorterminal.com/tools/unlimited-ocr-2.min.md (~2,930 tokens, same facts, less prose, for token-sensitive contexts)
- JSON: https://www.anchorterminal.com/tools/unlimited-ocr-2.json (this page as data, same URL with Accept: application/json)
- Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-10-27

## Overview

**Grade D · 53.5/100 · rank #92 of 113 open-weight models · #74 in Open-weight models · not agent-ready · confidence low**


Trained by Baidu, in the Unlimited OCR 2 family. Every model from this lab and its older versions: https://www.anchorterminal.com/open-weights/#baidu.

## Assessment

A small MIT document-parsing cousin that reads up to hundreds of pages in one request and returns ordered layout blocks with boxes and HTML tables. It needs an NVIDIA GPU with about 12 GB, through Baidu's remote code or its own SGLang build. The risks are running the publisher's code and accuracy figures that are Baidu's own.

## Facts

| Field | Value |
| --- | --- |
| Vendor | Baidu (https://github.com/baidu) |
| Kind | Open-weight model |
| Category | Open-weight models (https://www.anchorterminal.com/categories/open-weights) |
| Auth | None · The weights download from Hugging Face with no account, token or terms to accept. The repository isn't gated (checked 2026-10-27). |
| Pricing | Free (Free) · Free to download and use, commercial use included, under MIT by the repository's metadata and the LICENSE file in Baidu's GitHub code repository. Baidu sells no per-call access to these weights in this listing. Running them costs the hardware, 6.69 GB of BF16 safetensors on an NVIDIA GPU; Baidu tested the Transformers route on one A800 80 GB. No inference provider serves it on Hugging Face (checked 2026-10-27). |
| x402 | No · Weights you download and run yourself, so there is nothing to pay per call and no payment protocol (checked 2026-10-27). |
| Licence | MIT (Hub metadata; the Hugging Face repository has no LICENSE file, and the GitHub code repository's LICENSE is the MIT text, copyright 2026 Baidu) |
| Packages | huggingface: `baidu/Unlimited-OCR-2` |
| Source | https://huggingface.co/baidu/Unlimited-OCR-2 |
| Docs | https://huggingface.co/baidu/Unlimited-OCR-2 |
| llms.txt | not found |
| Last release | 2026-10-26 |
| Surface graded | The open weights at huggingface.co/baidu/Unlimited-OCR-2, read from the model card, the technical report in the repository (Unlimited-OCR-2.pdf, 15 pages, Baidu ERNIE Team), the files and their metadata, the commit history, config and tokenizer files, the remote code, and the README, LICENSE, utils/README.md and infer.py of github.com/baidu/Unlimited-OCR, plus the runtimes' own code, on 27 October 2026. Nothing was downloaded or run apart from the report |
| Model | Unlimited-OCR's backbone, which comes from DeepSeek-OCR. The DeepEncoder vision encoder (a SAM ViT-B and a CLIP-L) feeds a 12-layer mixture-of-experts decoder (64 routed and 2 shared experts, 6 routed active per token, hidden size 1,280, vocabulary 129,280). New in 2 is Sparse Reference Sliding Window Attention (SR-SWA) in every decoder layer, a per-layer page gate and top-k block router (dash_router and indexer weights) that bounds the visual tokens each step attends to. The report gives 3B total and 500M active parameters in the text and 3B-MoE-A570M in a figure; the Hub counts 3,343,978,240 BF16 parameters. The card states no parameter count |
| Documents | Page images (JPG or PNG), one page or a whole document in one request in page order; PDFs are rendered to images first (the card uses PyMuPDF at 300 DPI). Baidu's evaluation covers multi-page documents up to 30 pages (MPDocBench) and 103 to 300 pages (MarathonDocBench), and single pages on OmniDocBench. Output blocks cover titles with heading levels, body text, formulas, tables in HTML (merged across pages), and image, figure, chart and seal regions, which come back as boxes to crop rather than as transcribed data. The report says heading hierarchy is a weak point, since the sparse attention keeps no global document view |
| Languages | Not stated. The card's metadata says multilingual and names no language, and the report names none. Its single-page evaluation, OmniDocBench, has Chinese and English pages; the tokenizer is DeepSeek's 129,280-token vocabulary |
| Files | Two safetensors shards in BF16, 6,688,305,576 bytes together, and an index. No pickle files. The repository also holds Baidu's Transformers remote code (modeling_unlimitedocr.py, deepencoder.py, dash_attention.py, Triton kernels and others), a 15.3 MB SGLang wheel built from a customised SGLang, the report PDF and a 156 MB demonstration GIF; 6.87 GB in all. Hugging Face lists a SHA-256 for every LFS file |
| Licence | MIT. The Hugging Face repository names MIT in its metadata and has no LICENSE file; Baidu's GitHub code repository has the MIT text, copyright 2026 Baidu. It is initialised from Unlimited-OCR (MIT by its metadata), whose backbone is DeepSeek-OCR (MIT by its metadata), so the chain adds no terms |
| Runtimes | Hugging Face Transformers through Baidu's remote code (trust_remote_code), tested with transformers 4.52.1. SGLang through Baidu's customised wheel in the repository. Released vLLM (0.32.0), SGLang (0.5.22) and Transformers (5.20.2) carry UnlimitedOCRForCausalLM for the first Unlimited-OCR, with no SR-SWA router or indexer, and Baidu names neither stock route for this model. Not in llama.cpp. Ollama and LM Studio couldn't be checked |
| Input and output | Input is page images and the prompt <PAGE><image> once per page followed by Multi page parsing., built by the code. A single page uses dynamic tiling (gundam mode, crop_mode true); several pages use one global view each (base mode). Output is one string of layout blocks, <PAGE> per page, then <BLOCK> with the class, an optional <LEVELn> for titles, a box [x1,y1,x2,y2] on a 0 to 1000 scale and <FORK> before the content, with tables as HTML and cross_ and append_ prefixes for blocks that continue across pages. It isn't Markdown; utils/process_unlimitedOCR2.py in the GitHub repository converts it. Context 131,072 positions in config.json, YaRN factor 4 over 32,768, trained at sequences of up to 64K tokens; the SGLang build schedules long documents in page windows (10 pages by default) and reuses the boundary page's cache |
| Recommended settings | Greedy decoding (temperature 0), skip_special_tokens false, an output budget of 8,000 tokens a page, and SGLang's DeepseekOCRNoRepeatNGramLogitProcessor with ngram_size 35, window_size 1024 for several pages or 128 for one, page_token_id 128827, eos_token_id 1 and max_page_tokens 20000. Server flags as on the card, among them --mem-fraction-static 0.7 and --max-prefill-tokens 2048 |
| Hardware | NVIDIA GPUs with CUDA; the Transformers route was tested on one A800 80 GB, and the SR-SWA kernels are written in Triton. No memory figure is stated. The 6.69 GB of weights fit 12 GB with a fifth added; Baidu's report puts peak KV cache at 1.77 GB for a hundred-page document with chunked decoding against 47.00 GB without it |
| Training data | Post-trained for one epoch from the Unlimited-OCR checkpoint on 2 million multi-page and 10 million single-page documents, with pseudo-labels from MinerU2.5-Pro and PaddleOCR-VL-1.6, synthetic documents, VLM-based balance filtering and MinerU-Popo refinement, on 25 nodes of 8 NVIDIA H800 GPUs, with the encoder frozen. No datasets are named and no cut-off is given |
| Capabilities | docs.ocr, docs.parse, docs.tables, model.open-weights |
| Tags | open-weights, model, ocr, document-parsing, multi-page, long-documents, tables, layout, bounding-boxes, vision, mixture-of-experts, safetensors, self-hosted, new |
| JSON | https://www.anchorterminal.com/api/v1/tools/unlimited-ocr-2.json |

## Score breakdown (methodology v0.6, October 2026 research run)

Assessed 2026-10-27 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: low. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. "This run" is each category's share of the 100 points.

| Category | Weight | This run | Score (0–100) | Points |
| --- | --- | --- | --- | --- |
| Capability | 35% | pending | pending | n/a |
| Reach | 25% | 38.5 | 55 | 21.1 |
| Risk | 20% | 30.8 | 45 | 13.8 |
| Agent interface | 10% | 15.4 | 75 | 11.5 |
| Documentation and upkeep | 10% | 15.4 | 45 | 6.9 |
| Negative events | up to −15 | up to −15 | none recorded | 0 |
| **Total** | | | | **53.5 → D** |

### Why each score

- Capability: Pending for this listing. Nobody independent has published results for it in at least two areas yet, so its weight is shared across the other four and the total is capped at 61 until they do or our own runs start.
- Reach 55 (checked 2026-10-27): Memory earns the full 30, since the only build is 6.69 GB of BF16 weights that need about 8 GB with the fifth added. Runtimes score 0. Released vLLM, SGLang and Transformers know the first Unlimited-OCR but not the sparse attention this one adds, and Baidu's own routes are remote code in Transformers and a customised SGLang wheel; llama.cpp has nothing for it, and Ollama and LM Studio couldn't be checked. Builds score 0, as Baidu publishes no quantised build. Terms get 15 for MIT with nothing added. Download gets 10 for an ungated repository, and hosted too 0, with no inference provider mapped.
- Risk 45 (checked 2026-10-27): File safety gets 15, safetensors only but loaded with trust_remote_code or through a prebuilt SGLang wheel from the repository. Provenance gets 15 for files in Baidu's verified organisation, linked from its GitHub organisation, with hashes for every file. Licence risk keeps 15, since MIT has none of the deductions. Safety evaluation, agent guidance and the security programme score 0, with no safety results, no cautions about use and no security contact found.
- Agent interface 75 (checked 2026-10-27): Read for a document parser, the tool-calling, trained tool calling and structured-output lines stand for what it takes and returns. Baidu documents the page images, the prompt, the request settings and the block output, and ships a converter for the server's output (25). It was trained to read many pages in one request (20). The block format with classes, boxes and HTML tables, and its conversion to Markdown, are documented with how to get them (15). The prompt is built in code, with no Jinja template in the repository (10). Reasoning control scores 0, and the context 5, trained at up to 64K tokens.
- Documentation and upkeep 45 (checked 2026-10-27): The card covers intended use and the new attention, and misses limitations, parameters, context length, languages and a cut-off (5). Training data is described by mix and labelling with no datasets named and no cut-off (5). The files changed on 26 October 2026 (20). Nobody has asked anything on the Hub yet, so responsiveness reads as none answered, and GitHub issues couldn't be counted (0). The first model stays in its own repository without a note pointing here (5), and the files agree with the card (10).

Fix list for a coding agent, everything this grade says the listing lacks, the biggest gain first (13 items): https://www.anchorterminal.com/fixes/unlimited-ocr-2.md (JSON https://www.anchorterminal.com/fixes/unlimited-ocr-2.json)

### What we couldn't check

- Unchecked, Ollama's library and LM Studio's catalogue, since WebFetch to their sites wasn't available in this session; runtimes score them as absent
- Unchecked, whether Baidu Cloud serves this checkpoint; hosted too is scored as absent
- Unchecked, the GitHub repository's issues and their replies, since the GitHub API wasn't reachable; responsiveness reads the Hugging Face repository only
- Unchecked, Baidu's security response centre (bsrc.baidu.com answered Access denied) and www.baidu.com's security.txt (disallowed by its robots.txt); the security programme is scored as absent
- Released vLLM, SGLang and Transformers register the architecture name for the first model. Whether they load this checkpoint and run it without its sparse attention wasn't tested and isn't documented; runtimes score 0
- The SGLang wheel in the repository is a build of SGLang 0.5.20.dev10 at a commit (8d62f5fb9c) its card doesn't link to source for, so its code can't be compared with upstream
- No independent result for this checkpoint was found, so Capability is pending and confidence is low

### Sources

- model card: <https://huggingface.co/baidu/Unlimited-OCR-2> (seen 2026-10-27)
- gating, likes, parameter count, created and last modified, inference providers (none): <https://huggingface.co/api/models/baidu/Unlimited-OCR-2> (seen 2026-10-27)
- files, sizes and hashes, 26 files: <https://huggingface.co/api/models/baidu/Unlimited-OCR-2/tree/main?recursive=true> (seen 2026-10-27)
- commit history, twelve commits on 26 October 2026: <https://huggingface.co/api/models/baidu/Unlimited-OCR-2/commits/main> (seen 2026-10-27)
- discussions, none: <https://huggingface.co/api/models/baidu/Unlimited-OCR-2/discussions> (seen 2026-10-27)
- technical report, Baidu ERNIE Team, architecture, training, evaluations, limitations: <https://huggingface.co/baidu/Unlimited-OCR-2/blob/main/Unlimited-OCR-2.pdf> (seen 2026-10-27)
- config, context, MoE shape, sparse attention settings: <https://huggingface.co/baidu/Unlimited-OCR-2/raw/main/config.json> (seen 2026-10-27)
- tokenizer config, no chat template: <https://huggingface.co/baidu/Unlimited-OCR-2/raw/main/tokenizer_config.json> (seen 2026-10-27)
- weight map, dash_router and indexer weights in all 12 layers: <https://huggingface.co/baidu/Unlimited-OCR-2/raw/main/model.safetensors.index.json> (seen 2026-10-27)
- remote code, prompt building, infer and infer_multi, eval in the box parser: <https://huggingface.co/baidu/Unlimited-OCR-2/raw/main/modeling_unlimitedocr.py> (seen 2026-10-27)
- GitHub README, the same as the card plus the evaluation section: <https://raw.githubusercontent.com/baidu/Unlimited-OCR/main/README.md> (seen 2026-10-27)
- MIT licence text, copyright 2026 Baidu: <https://raw.githubusercontent.com/baidu/Unlimited-OCR/main/LICENSE> (seen 2026-10-27)
- output format and the Markdown converter: <https://raw.githubusercontent.com/baidu/Unlimited-OCR/main/utils/README.md> (seen 2026-10-27)
- Baidu's GitHub organisation profile, linking huggingface.co/baidu: <https://raw.githubusercontent.com/baidu/.github/main/profile/README.md> (seen 2026-10-27)
- the first model's commits, last 14 October 2026, no pointer to this one: <https://huggingface.co/api/models/baidu/Unlimited-OCR/commits/main> (seen 2026-10-27)
- vLLM's Unlimited-OCR implementation, no sparse attention: <https://raw.githubusercontent.com/vllm-project/vllm/v0.32.0/vllm/model_executor/models/unlimited_ocr.py> (seen 2026-10-27)
- SGLang's Unlimited-OCR implementation, no sparse attention: <https://raw.githubusercontent.com/sgl-project/sglang/v0.5.22/python/sglang/srt/models/unlimited_ocr.py> (seen 2026-10-27)
- Transformers' native Unlimited-OCR, no SR-SWA router or indexer: <https://raw.githubusercontent.com/huggingface/transformers/v5.20.2/src/transformers/models/unlimited_ocr/modeling_unlimited_ocr.py> (seen 2026-10-27)
- llama.cpp converter, no Unlimited-OCR: <https://raw.githubusercontent.com/ggml-org/llama.cpp/master/convert_hf_to_gguf.py> (seen 2026-10-27)
- ParseBench leaderboard, first Unlimited-OCR only: <https://raw.githubusercontent.com/run-llama/ParseBench/main/leaderboard.csv> (seen 2026-10-27)
- OmniDocBench leaderboard, first Unlimited-OCR only: <https://raw.githubusercontent.com/opendatalab/OmniDocBench/main/README.md> (seen 2026-10-27)

## Score history

Every move of a score since the listing was graded, newest first, with its cause. A score can't move without an entry here. JSON: https://www.anchorterminal.com/api/v1/tools/unlimited-ocr-2/history.json

- 2026-10-27: graded 53.5 D (methodology 0.6)

## Who's behind it (provenance 73/100, checked 2026-10-27)

| Check | Finding | Points |
| --- | --- | --- |
| Legal entity named | Baidu, Inc. | 20/20 |
| Domain age | baidu.com, registered 1999-10-11 (27 years) | 15/15 |
| Endpoint on the vendor's domain | no hosted endpoint | n/a |
| Terms of service | nothing hosted, so the MIT (Hub metadata; the Hugging Face repository has no LICENSE file, and the GitHub code repository's LICENSE is the MIT text, copyright 2026 Baidu) licence stands in | 10/10 |
| Privacy policy | nothing hosted, not scored | n/a |
| Status page | not found | 0/10 |
| Changelog | published | 10/10 |
| security.txt | could not be fetched | 0/10 |

The files sit in Baidu's verified baidu organisation on Hugging Face, which Baidu's GitHub organisation profile links to, and the GitHub code repository's README links this repository. The report's byline is the Baidu ERNIE Team. The legal entity is the card's Baidu Inc., not checked against a registry. The domain registration date is from Verisign's RDAP record for baidu.com, read 2026-10-27.

Nothing is hosted in this listing, so the MIT licence stands in for terms of service and no privacy policy is scored.

The changelog is the repository's commit history, twelve commits on 26 October 2026 by one account (WEISHU), the weights at 04:38 UTC and the last README change at 14:05 UTC. The card's release line dates the release 27 October 2026.

www.baidu.com's robots.txt disallows every path to all agents not named in it, so its security.txt is not read for this listing, and bsrc.baidu.com answered Access denied to its robots.txt. No security contact is named on the card or in the GitHub repository.

### Terms and privacy, as read

A reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.

**Terms of service**. Nothing is hosted by the vendor, so there are no terms of service to read. The MIT (Hub metadata; the Hugging Face repository has no LICENSE file, and the GitHub code repository's LICENSE is the MIT text, copyright 2026 Baidu) licence stands in and the check scores in full.


**Privacy policy**. Nothing is hosted by the vendor, so there is no privacy policy to read and the check isn't scored.


## Probe metrics

Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.

No hosted version of these weights has a price on OpenRouter, so what a task costs is your own hardware and power.

## Strengths

- Small, 3.3B parameters with about 0.5B active per token, in 6.69 GB of BF16 safetensors
- Reads many pages in one request with cross-page context, merging tables and text that continue across pages
- MIT with nothing added, ungated, files hashed in Baidu's verified organisation
- An OpenAI-compatible server through SGLang with page-window scheduling for long documents, and a documented converter from its block output to Markdown

## Weaknesses

- Loading runs Baidu's code, remote code in Transformers or a prebuilt SGLang fork from the repository, and the save_results path calls eval on model output
- No released runtime runs its sparse attention yet, and no quantised build
- The card states no parameters, languages, context length or limitations, and no safety results or security contact were found
- Every accuracy figure is Baidu's own, one of its two long-document benchmarks is Baidu's own, and no independent result exists for this checkpoint
- Charts and figures come back as boxes to crop, not as data, and the report says heading hierarchy is weak over long documents



## Before you call it (notes for agents)

1. Quickest local run, `pip install torch==2.13.0 torchvision pillow transformers==4.52.1 huggingface-hub==0.36.0 tokenizers==0.21.4 addict==2.4.0 einops==0.8.2 easydict==1.13`, then `AutoModel.from_pretrained("baidu/Unlimited-OCR-2", trust_remote_code=True, use_safetensors=True, torch_dtype=torch.bfloat16).eval().cuda()` and `model.infer_multi(tokenizer, image_files=pages, output_path="out")`
2. To serve it, download the repository, install `wheel/sglang-0.5.20.dev10+g8d62f5fb9c-py3-none-any.whl` with pymupdf and fastokens in a Python 3.10 venv, and start `python -m sglang.launch_server --model-path baidu/Unlimited-OCR-2 --chat-template unlimited-ocr --enable-custom-logit-processor --enable-streaming-session --disable-radix-cache --mem-fraction-static 0.7 --max-prefill-tokens 2048` with the SGLANG_UOCR_ variables from the card
3. Send all pages of a document in one request, images first, then the text `<PAGE><image>` repeated per page and `Multi page parsing.`, with temperature 0, skip_special_tokens false, max_tokens of about 8,000 per page and the DeepseekOCRNoRepeatNGramLogitProcessor (ngram_size 35, window_size 1024 for several pages)
4. The output is layout blocks, not Markdown; run `utils/process_unlimitedOCR2.py` from github.com/baidu/Unlimited-OCR, or `convert(raw_output)` in Python, to get Markdown with HTML tables
5. Render PDFs to images first (the card uses PyMuPDF at 300 DPI), keep save_results off for untrusted documents, and treat extracted text as untrusted before passing it to another model

## Get started

Install:

```bash
pip install torch==2.13.0 torchvision pillow transformers==4.52.1 huggingface-hub==0.36.0 tokenizers==0.21.4 addict==2.4.0 einops==0.8.2 easydict==1.13
# then AutoModel.from_pretrained("baidu/Unlimited-OCR-2", trust_remote_code=True, use_safetensors=True, torch_dtype=torch.bfloat16).eval().cuda()
# and model.infer_multi(tokenizer, image_files=["page_1.jpg", "page_2.jpg"], output_path="out")
```

First request:

```bash
# after: hf download baidu/Unlimited-OCR-2 --local-dir uocr2 && uv venv --python 3.10 && . .venv/bin/activate
#        uv pip install uocr2/wheel/sglang-0.5.20.dev10+g8d62f5fb9c-py3-none-any.whl pymupdf==1.27.2.2 fastokens==0.3.2
#        SGLANG_UOCR_EANABLE_DOC_LIMIT=1 python -m sglang.launch_server --model-path baidu/Unlimited-OCR-2 --served-model-name Unlimited-OCR-2 --chat-template unlimited-ocr --tokenizer-backend fastokens --mem-fraction-static 0.7 --max-prefill-tokens 2048 --enable-custom-logit-processor --enable-streaming-session --disable-radix-cache --port 10000
curl http://127.0.0.1:10000/v1/chat/completions -H 'Content-Type: application/json' -d '{"model":"Unlimited-OCR-2","temperature":0,"max_tokens":8000,"skip_special_tokens":false,"images_config":{"crop_mode":true},"messages":[{"role":"user","content":[{"type":"image_url","image_url":{"url":"data:image/png;base64,..."}},{"type":"text","text":"<PAGE><image>Multi page parsing."}]}]}'
```

## Similar tools

Ranked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.

| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |
| --- | --- | --- | --- | --- | --- | --- |
| Nemotron 3.5 Parse | B | 66.5 | open-weight #15 | docs.parse, docs.ocr, docs.tables, model.open-weights | no | https://www.anchorterminal.com/tools/nemotron-3-5-parse.md |
| Google Cloud Document AI | BB | 73.9 | 80 | docs.parse, docs.ocr, docs.tables | no | https://www.anchorterminal.com/tools/google-cloud-document-ai.md |
| Amazon Textract | BB | 73.7 | 85 | docs.parse, docs.ocr, docs.tables | no | https://www.anchorterminal.com/tools/amazon-textract.md |
| LandingAI Agentic Document Extraction | B | 69 | 217 | docs.parse, docs.tables, docs.ocr | no | https://www.anchorterminal.com/tools/landingai-agentic-document-extraction.md |
| Azure Document Intelligence | B | 66 | 340 | docs.parse, docs.ocr, docs.tables | no | https://www.anchorterminal.com/tools/azure-document-intelligence.md |
| Extend API + MCP | B | 62.9 | 475 | docs.parse, docs.ocr, docs.tables | no | https://www.anchorterminal.com/tools/extend.md |

## Panel reviews (0)

Reviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .

Desk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md

## Notable

- 9 likes on Hugging Face on 27 October 2026, a day after upload; the Hub's download counter still read 0. Its predecessor, baidu/Unlimited-OCR, had 2,771,148 downloads in the last 30 days, Baidu's most downloaded repository (source: <https://huggingface.co/api/models/baidu/Unlimited-OCR-2>)
- Baidu's report gives 84.59 overall on MPDocBench (documents up to 30 pages) and 77.06 on MarathonDocBench (100 documents of 103 to 300 pages, a benchmark Baidu introduces in the same report), ahead of the general models it ran, and 94.02 on OmniDocBench v1.6 for single pages. These are the publisher's numbers, not our measurement (source: <https://huggingface.co/baidu/Unlimited-OCR-2/blob/main/Unlimited-OCR-2.pdf>)
- Baidu claims its chunked decoding cuts peak KV cache memory on hundred-page documents from 47.00 GB to 1.77 GB at batch 1, with a near-constant per-step latency, 7.0 times faster per step than full attention at a hundred pages. The publisher's claim (source: <https://huggingface.co/baidu/Unlimited-OCR-2/blob/main/Unlimited-OCR-2.pdf>)
- No independent result for this checkpoint on 27 October 2026. Its predecessor Unlimited-OCR has a ParseBench row at 46.17 overall (charts 1.34, semantic formatting 0.97) and an OmniDocBench v1.6 row at 94.00; neither is this model (source: <https://raw.githubusercontent.com/run-llama/ParseBench/main/leaderboard.csv>)
- The recommended serving route is a customised SGLang build, shipped as a wheel inside the model repository (sglang-0.5.20.dev10+g8d62f5fb9c), not a released SGLang

- #74 of 84 in Best open-weight models you download and run yourself for AI agents: https://www.anchorterminal.com/best/open-weights/index.md
- All 3504 open weights comparisons: https://www.anchorterminal.com/compare/open-weights/index.md

## Compare

- [Agents-A1-4B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/agents-a1-4b-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [Apertus v1.5 8B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/apertus-v1-5-8b-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [Apodex-1.1-mini vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/apodex-1-1-mini-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [BigBang-v1 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/bigbang-v1-vs-unlimited-ocr-2.md): C 54.4 vs D 53.5
- [Carbon-X vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/carbon-x-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [Cosmos-Reason2-2B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/cosmos-reason2-2b-vs-unlimited-ocr-2.md): C 59.5 vs D 53.5
- [Darwin-36B-Opus vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/darwin-36b-opus-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [DeepSeek-V3.2 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/deepseek-v3-2-vs-unlimited-ocr-2.md): C 58.6 vs D 53.5
- [DeepSeek V4.1 Flash vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/deepseek-v4-1-flash-vs-unlimited-ocr-2.md): C 59 vs D 53.5
- [DeepSeek-V4-Flash-0731 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/deepseek-v4-flash-0731-vs-unlimited-ocr-2.md): B 62.4 vs D 53.5
- [DiffusionGemma 26B A4B IT vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/diffusiongemma-26b-a4b-it-vs-unlimited-ocr-2.md): D 50 vs D 53.5
- [Gemma 4 12B IT vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/gemma-4-12b-it-vs-unlimited-ocr-2.md): BB 71.3 vs D 53.5
- [Gemma 4 26B A4B IT vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/gemma-4-26b-a4b-it-vs-unlimited-ocr-2.md): BB 72.2 vs D 53.5
- [Gemma 4 31B IT vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/gemma-4-31b-it-vs-unlimited-ocr-2.md): BB 74.1 vs D 53.5
- [Gemma 4 E2B IT vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/gemma-4-e2b-it-vs-unlimited-ocr-2.md): C 60.4 vs D 53.5
- [Gemma 4 E4B IT vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/gemma-4-e4b-it-vs-unlimited-ocr-2.md): B 63.2 vs D 53.5
- [GLM-4.5-Air vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/glm-4-5-air-vs-unlimited-ocr-2.md): C 59.1 vs D 53.5
- [GLM-4.7-Flash vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/glm-4-7-flash-vs-unlimited-ocr-2.md): B 63 vs D 53.5
- [GLM-5.3-Flash vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/glm-5-3-flash-vs-unlimited-ocr-2.md): B 65.1 vs D 53.5
- [GLM-5.3 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/glm-5-3-vs-unlimited-ocr-2.md): B 64.6 vs D 53.5
- [gpt-oss-120b vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/gpt-oss-120b-vs-unlimited-ocr-2.md): BB 70.2 vs D 53.5
- [gpt-oss-20b vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/gpt-oss-20b-vs-unlimited-ocr-2.md): B 69.9 vs D 53.5
- [Granite 4.2 3B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/granite-4-2-3b-vs-unlimited-ocr-2.md): C 59.8 vs D 53.5
- [Hy3 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/hy3-vs-unlimited-ocr-2.md): B 62.6 vs D 53.5
- [Inkling-Small vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/inkling-small-vs-unlimited-ocr-2.md): B 66.5 vs D 53.5
- [Inkling vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/inkling-vs-unlimited-ocr-2.md): B 64.2 vs D 53.5
- [InternVL3.5-GPT-OSS-20B-A4B-Preview vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/internvl3-5-gpt-oss-20b-a4b-preview-vs-unlimited-ocr-2.md): D 51.2 vs D 53.5
- [Kimi K3 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/kimi-k3-vs-unlimited-ocr-2.md): B 62.4 vs D 53.5
- [Kolibri-1 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/kolibri-1-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [Kronos vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/kronos-vs-unlimited-ocr-2.md): C 55.2 vs D 53.5
- [Laguna M.1 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/laguna-m-1-vs-unlimited-ocr-2.md): C 55.5 vs D 53.5
- [Laguna S 2.1 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/laguna-s-2-1-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [Laguna XS 2.1 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/laguna-xs-2-1-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [LBS-27B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/lbs-27b-vs-unlimited-ocr-2.md): D 53.9 vs D 53.5
- [LFM2.5-2.6B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/lfm2-5-2-6b-vs-unlimited-ocr-2.md): D 51.5 vs D 53.5
- [Ling-3.0-tiny vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/ling-3-0-tiny-vs-unlimited-ocr-2.md): C 55 vs D 53.5
- [MiMo-V2.6 Distill Qwen 9B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/mimo-v2-6-distill-qwen-9b-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [MiniCPM-o 4.5 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/minicpm-o-4-5-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [MiniCPM5-2B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/minicpm5-2b-vs-unlimited-ocr-2.md): C 60.2 vs D 53.5
- [MiniMax-M2.5 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/minimax-m2-5-vs-unlimited-ocr-2.md): C 57.5 vs D 53.5
- [MiniMax-M2.7 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/minimax-m2-7-vs-unlimited-ocr-2.md): C 56.1 vs D 53.5
- [MiniMax-M3.1-Flash vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/minimax-m3-1-flash-vs-unlimited-ocr-2.md): D 50.5 vs D 53.5
- [Muse Glimmer 30B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/muse-glimmer-30b-vs-unlimited-ocr-2.md): BB 70 vs D 53.5
- [Nanbeige4.3-33B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/nanbeige-4-3-33b-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [NVIDIA Nemotron 3.5 Bolt E4B 4GB vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/nemotron-3-5-bolt-e4b-4gb-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [Nemotron 3.5 Lightning 30B A3B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/nemotron-3-5-lightning-30b-a3b-vs-unlimited-ocr-2.md): B 64.2 vs D 53.5
- [Nemotron 3 Nano 30B A3B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/nemotron-3-nano-30b-a3b-vs-unlimited-ocr-2.md): B 67.1 vs D 53.5
- [Nemotron 3 Nano 4B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/nemotron-3-nano-4b-vs-unlimited-ocr-2.md): C 56.8 vs D 53.5
- [Nemotron 3 Super 120B A12B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/nemotron-3-super-120b-a12b-vs-unlimited-ocr-2.md): B 66.2 vs D 53.5
- [Nemotron 3 Ultra 550B A55B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/nemotron-3-ultra-550b-a55b-vs-unlimited-ocr-2.md): B 68.8 vs D 53.5
- [occamy-1.0 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/occamy-1-0-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [Olmo 3 7B Think vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/olmo-3-7b-think-vs-unlimited-ocr-2.md): D 52.3 vs D 53.5
- [Ornith-1.5-35B-A3B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/ornith-1-5-35b-a3b-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [Ornith-1.5-397B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/ornith-1-5-397b-vs-unlimited-ocr-2.md): C 59 vs D 53.5
- [Ornith-1.5-9B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/ornith-1-5-9b-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [Qwen3-30B-A3B-Instruct-2507 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-30b-a3b-instruct-2507-vs-unlimited-ocr-2.md): C 56.6 vs D 53.5
- [Qwen3-4B-Instruct-2507 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-4b-instruct-2507-vs-unlimited-ocr-2.md): C 55.7 vs D 53.5
- [Qwen3.5-0.8B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-5-0-8b-vs-unlimited-ocr-2.md): D 46.7 vs D 53.5
- [Qwen3.5-122B-A10B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-5-122b-a10b-vs-unlimited-ocr-2.md): B 63.6 vs D 53.5
- [Qwen3.5-2B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-5-2b-vs-unlimited-ocr-2.md): D 50.5 vs D 53.5
- [Qwen3.5-397B-A17B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-5-397b-a17b-vs-unlimited-ocr-2.md): B 64.6 vs D 53.5
- [Qwen3.5-4B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-5-4b-vs-unlimited-ocr-2.md): C 61.2 vs D 53.5
- [Qwen3.5-9B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-5-9b-vs-unlimited-ocr-2.md): C 60.5 vs D 53.5
- [Qwen3.6-27B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-6-27b-vs-unlimited-ocr-2.md): B 67.2 vs D 53.5
- [Qwen3.6-35B-A3B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-6-35b-a3b-vs-unlimited-ocr-2.md): B 63.2 vs D 53.5
- [Qwen3.8-27B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-8-27b-vs-unlimited-ocr-2.md): B 68.6 vs D 53.5
- [Qwen3.8-Flash-Next vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-8-flash-next-vs-unlimited-ocr-2.md): C 61.8 vs D 53.5
- [Qwen3-Coder-30B-A3B-Instruct vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-coder-30b-a3b-instruct-vs-unlimited-ocr-2.md): C 55.7 vs D 53.5
- [Qwen3-Coder-Next vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-coder-next-vs-unlimited-ocr-2.md): C 57.6 vs D 53.5
- [Qwen3-VL-2B-Instruct vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-vl-2b-instruct-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [Qwen3-VL-30B-A3B-Instruct vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-vl-30b-a3b-instruct-vs-unlimited-ocr-2.md): C 58 vs D 53.5
- [Qwen3-VL-32B-Instruct vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-vl-32b-instruct-vs-unlimited-ocr-2.md): C 56.4 vs D 53.5
- [Qwen3-VL-4B-Instruct vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-vl-4b-instruct-vs-unlimited-ocr-2.md): D 52.6 vs D 53.5
- [Qwen3-VL-8B-Instruct vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwen3-vl-8b-instruct-vs-unlimited-ocr-2.md): C 54.9 vs D 53.5
- [Qwopus3.8-27B-Flash-V2 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/qwopus3-8-27b-flash-v2-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [Recursive Flint vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/recursive-flint-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [SmolLM3-3B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/smollm3-3b-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [Spark-X2.6-4B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/spark-x2-6-4b-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [Swift 1.5 Qwen3.8-27B vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/swift-1-5-qwen3-8-27b-vs-unlimited-ocr-2.md): C 61 vs D 53.5
- [Swift 1.5 Qwen3.8-Flash-Next vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/swift-1-5-qwen3-8-flash-next-vs-unlimited-ocr-2.md): D 52.3 vs D 53.5
- [ThinkingCap (Qwen3.8 27B) vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/thinkingcap-qwen3-8-27b-vs-unlimited-ocr-2.md): C 61 vs D 53.5

## Verify this listing

For the vendor. The badge or a plain link to this page verifies the listing, from a page on baidu.com or one of its subdomains, or a page under github.com/baidu. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{"slug": "unlimited-ocr-2", "url": "…"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify

HTML badge:

```html
<a href="https://www.anchorterminal.com/tools/unlimited-ocr-2"><img src="https://www.anchorterminal.com/badges/unlimited-ocr-2.svg" alt="Baidu Unlimited-OCR-2 on Anchor Terminal" height="20"></a>
```

Markdown badge, for a README:

```markdown
[![Baidu Unlimited-OCR-2 on Anchor Terminal](https://www.anchorterminal.com/badges/unlimited-ocr-2.svg)](https://www.anchorterminal.com/tools/unlimited-ocr-2)
```

Plain link:

```html
<a href="https://www.anchorterminal.com/tools/unlimited-ocr-2">Baidu Unlimited-OCR-2 on Anchor Terminal</a>
```

## Share this listing

For the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say Baidu Unlimited-OCR-2 is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.

- Dark: https://www.anchorterminal.com/assets/share/unlimited-ocr-2-dark.png
- Light: https://www.anchorterminal.com/assets/share/unlimited-ocr-2-light.png
- Create a video and download its frames: https://www.anchorterminal.com/assets/listing-video/index.html?listing=unlimited-ocr-2

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
