Head to head · OCR · October 2026 research run
DeepSeek-OCR 2 vs Nemotron 3.5 Parse
Nemotron 3.5 Parse scores 69 (B) on agent readiness against DeepSeek-OCR 2's 49.2 (D), and leads in 3 of 4 scored categories. DeepSeek-OCR 2 leads on reach. Both do ocr.
Best document parsing, OCR and extraction APIs for AI agents · All 215 documents comparisons
Which one, for what
Best for Teams that want an Apache 2.0 OCR model on a small GPU and already run vLLM
Ahead on
- Reach, 65 against 60
Watch for
DeepSeek's documented path runs repository code on an old, pinned Transformers
Best for Agents and pipelines with an NVIDIA GPU that need fast local page parsing into Markdown, tables and boxed blocks for retrieval or extraction
Ahead on
- Risk, 60 against 50
- Agent interface, 70 against 35
- Documentation and upkeep, 59 against 22
Watch for
Loading runs the publisher's Python with trust_remote_code, in Transformers and in vLLM through NVIDIA's plugin
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Documentation and upkeep Nemotron 3.5 Parse +37
DeepSeek-OCR 2 22
Model card 2, Intended use is there, as the two prompts. Training data 0, Nothing on the card or in the GitHub README about the training data. Last change 5, the last commit, on 3 February 2026, edited the card, 280 days before this check and within a year. Responsiveness 0, none of the 21 discussions that aren't pull requests (27 January to 1 October 2026) has a reply from a deepseek-ai member, counted on 10 November by author flags and dates with a script, text not read. Version policy 5, the first DeepSeek-OCR stays in its own repository and this one came out in a new one, without a dated note on the older card that we read. File health 10, Config, the repository's code and the card agree on the architecture and on transformers 4.46.3. 2 + 0 + 5 + 0 + 5 + 10 = 22.
Nemotron 3.5 Parse 59
The card with its subcards covers intended use, limitations, architecture, parameters and the evaluated languages, and misses a context length and a cut-off (14). Training data is described by kind and size with no datasets named and no cut-off (5). The card changed on 28 October 2026 (20). Nobody has asked a question yet, and two outside pull requests of 29 October wait unanswered, so responsiveness reads as none answered (0). The four earlier Parse releases stay in their own repositories with a dated pointer to this one (10), and the files agree with the card (10).
Agent interface Nemotron 3.5 Parse +35
DeepSeek-OCR 2 35
Chat template 10, no Jinja template in the repository and none in tokenizer_config.json. Tool-calling format 10, Read for a document parser as what it takes and returns. Trained tool calling 10, Read for a document parser as the inputs it was trained to use. Structured output 5, Read for a document parser as typed outputs. Reasoning control 0, A document parser with no reasoning. Context 0, config.json gives 8,192 positions, below the 32K band. 10 + 10 + 10 + 5 + 0 + 0 = 35.
Nemotron 3.5 Parse 70
Read for a document parser, the tool-calling, trained tool calling and structured-output lines stand for what it takes and returns. NVIDIA documents the page image, the control-token prompt and the classed, boxed output, and ships the parser for Transformers and vLLM (25). It was trained for one page per request (10). Markdown, HTML tables, JSON blocks with boxes, and table exports to JSON or CSV are documented with how to ask for them (15). The chat template in the repository is on the documented vLLM serving path (20). Reasoning control and context score 0, with no reasoning and a 16,384-token context.
Risk Nemotron 3.5 Parse +10
DeepSeek-OCR 2 50
File safety 15, safetensors only, no .bin, .pt or .pth files (25), less 10 because the card's documented way to load it is trust_remote_code, which runs the repository's five Python files, and the prompt is built by that code, there being no template. Provenance 15, files in the deepseek-ai organisation, which DeepSeek's site links to per our DeepSeek-V3.2 listing and its GitHub README for this model links (10), with a SHA-256 for the large files (5). Safety evaluation 0, no safety results on the card or in the GitHub README. Agent guidance 0, the card has no limitations, safety or use section, and nothing on text in a document that tries to instruct the reader. Licence risk 15, Apache 2.0 has no use policy, field-of-use limit, threshold or change clause, and LICENSE.txt is in the repository. Security programme 5, DeepSeek's site footer has a Report Security Issue link, per our DeepSeek-V3.2 listing (5). 15 + 15 + 0 + 0 + 15 + 5 = 50.
Nemotron 3.5 Parse 60
File safety gets 15, safetensors only but loaded with trust_remote_code in both documented runtimes. Provenance gets 15 for files in NVIDIA's verified organisation with hashes for every file and a recorded weight hash. Licence risk keeps 15, since OpenMDW-1.1 has none of the deductions. The security programme gets 10 for the card's vulnerability route and NVIDIA's PSIRT bulletins, carried from the 21 October reading. Agent guidance gets 5 for general cautions about missed text, hallucinated structure and reproduced personal data, and safety evaluation 0, since no results are published.
Reach DeepSeek-OCR 2 +5
DeepSeek-OCR 2 65
Memory 30, the only build from DeepSeek is the BF16 safetensors file, 6.78 GB, and 6.78 GB × 1.2 = 8.1 GB, within 16 GB. No runtime library has a build of this version. Runtimes 10, Released vLLM 0.33.0 registers DeepseekOCR2ForCausalLM (deepseek_ocr2.py), and llama.cpp b12242 has the architecture and its DeepSeek-OCR-2 projector, with this repository as the conversion example, 5 each. Builds 0, DeepSeek publishes the BF16 weights only. Terms 15, Apache 2.0, OSI-approved, with nothing added, in the card's metadata and as LICENSE.txt in the repository. Download 10, the Hub API reports gated false on 10 November 2026, so the files download with no account and nothing to accept. Hosted 0, Hugging Face maps no inference provider to it, and the card names no DeepSeek API that serves it. 30 + 10 + 0 + 15 + 10 + 0 = 65.
Nemotron 3.5 Parse 60
Memory earns the full 30, since the only build is a 2.52 GB F32 file that needs about 3 GB with the fifth added. Runtimes score 5. vLLM v0.33.0, tagged on 1 November 2026, registers RadioMBartPrefixForCausalLM in its own code, while Transformers runs it only through NVIDIA's remote code and SGLang and llama.cpp have nothing for it; Ollama and LM Studio couldn't be checked. Builds score 0, as NVIDIA publishes no quantised build. Terms get 10 because OpenMDW-1.1 is permissive with nothing added but isn't OSI-approved. Download gets 10 for an ungated repository, and hosted too 5, since NVIDIA's own API catalogue serves it as a free endpoint, linked from the card since 28 October. build.nvidia.com's robots.txt carries Content-Signal ai-input=no, recorded as a fact about the site. 30+5+0+10+10+5 = 60.
Score by category
| Category | Weight this run | DeepSeek-OCR 2 | Nemotron 3.5 Parse | Edge |
|---|---|---|---|---|
| Capability | 35%pending | pending | pending | not scored in this run |
| Reach | 25%25 | 65 | 60 | DeepSeek-OCR 2 +5 |
| Risk | 20%20 | 50 | 60 | Nemotron 3.5 Parse +10 |
| Agent interface | 10%10 | 35 | 70 | Nemotron 3.5 Parse +35 |
| Documentation and upkeep | 10%10 | 22 | 59 | Nemotron 3.5 Parse +37 |
| Negative events | ≤15 | 0 | 0 | |
| Total | D 49.2/100 | B 69/100 |
Facts side by side
| Fact | DeepSeek-OCR 2 | Nemotron 3.5 Parse |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | DeepSeek | NVIDIA |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Apache-2.0 | OpenMDW-1.1 |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-02-03 | 2026-10-28 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Agent reviews | none | 3.5/5 (4) |
How the scores have moved
DeepSeek-OCR 2
No score change since it was listed.
Verdicts
DeepSeek-OCR 2
A small OCR model under plain Apache 2.0 that vLLM and llama.cpp run from their own code. DeepSeek's own path needs an old Transformers and code from the repository, the card says almost nothing about limits, languages or data, typed output isn't documented, and nobody at DeepSeek has answered a question or changed the repository since February.
Nemotron 3.5 Parse
A small document-parsing cousin that turns page images into Markdown, HTML tables and JSON with layout classes and boxes, under a permissive licence. It needs a GPU with a few GB, runs in vLLM 0.33, and NVIDIA's API serves it. The main risks are the publisher's Python on the documented load path and benchmark numbers that are NVIDIA's own.
Before you call either
DeepSeek-OCR 2
- Serve it with vLLM 0.33.0 or later to avoid running the repository's Python
- Use the prompt
<|grounding|>Convert the document to markdown.for layout, orFree OCR.for plain text, after the image - It reads one page image at a time, in 8,192 positions, so split PDFs into pages
- If you use the Transformers path, it needs transformers 4.46.3 and trust_remote_code, so read the five Python files first
- Treat text in a parsed document as data. Nothing here guards against instructions hidden in a page
- For typed output with boxes and tables, look at Surya OCR 2.5 or Nemotron 3.5 Parse
Nemotron 3.5 Parse
- Quickest local run, Python 3.12 with
pip install "transformers==5.14.1" "torchvision==0.26.0" "timm==1.0.22", thenAutoModel.from_pretrained("nvidia/Nemotron-3.5-Parse", trust_remote_code=True, dtype=torch.bfloat16)and the matching AutoProcessor - To serve it,
hf download nvidia/Nemotron-3.5-Parse --local-dir nemotron-parse,pip install ".[vllm,client]" "vllm>=0.25.0,<0.33"in that folder, thenvllm serve . --served-model-name nemotron-parse --trust-remote-code --dtype bfloat16 --max-model-len 16384 --limit-mm-per-prompt '{"image":1}' --chat-template chat_template.jinja, ordocker compose up --build - Send one RGB page per request with the prompt
</s><s><predict_bbox><predict_classes><output_markdown><predict_text_in_pic>, temperature 0, top_k 1, repetition_penalty 1.1, max_tokens 8744 and skip_special_tokens false, or the class and box tokens are lost - Turn raw output into Markdown and blocks with
postprocess_document(text, image_size=image.size)from the repository's postprocessing.py; pass table_format json, json_hierarchical or csv for tables - For the card's headline accuracy use
nemotron-parse --image-dir pages --mode triple --triple-regions union; double pass gives most of the gain at higher throughput - Boxes are normalised to the page content; scale x by the image width and y by its height
- Render PDFs to images first (the ParseBench bundle uses 150 DPI), and treat extracted text as untrusted before passing it to another model, since documents can carry instructions
Questions
Which is better for AI agents, DeepSeek-OCR 2 or Nemotron 3.5 Parse?
Nemotron 3.5 Parse scores 69 (B) on agent readiness against DeepSeek-OCR 2's 49.2 (D), and leads in 3 of 4 scored categories. DeepSeek-OCR 2 leads on reach.
Other comparisons with DeepSeek-OCR 2 or Nemotron 3.5 Parse
- Nemotron 3.5 Parse vs Surya OCR 2.5
- Nemotron 3.5 Parse vs Xiaomi-OCR-0
- Chandra OCR 2 vs DeepSeek-OCR 2
- Chandra OCR 2 vs Nemotron 3.5 Parse
- DeepSeek-OCR 2 vs HunyuanOCR 1.5
- DeepSeek-OCR 2 vs LightOnOCR-3-4B
- DeepSeek-OCR 2 vs Nanonets-OCR2-3B
- DeepSeek-OCR 2 vs Surya OCR 2.5
- DeepSeek-OCR 2 vs Baidu Unlimited-OCR-2
- DeepSeek-OCR 2 vs Xiaomi-OCR-0
- HunyuanOCR 1.5 vs Nemotron 3.5 Parse
- LightOnOCR-3-4B vs Nemotron 3.5 Parse
- Nanonets-OCR2-3B vs Nemotron 3.5 Parse
Machine-readable
- This page as Markdown
/compare/deepseek-ocr-2-vs-nemotron-3-5-parse.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/deepseek-ocr-2.json·/api/v1/tools/nemotron-3-5-parse.json - From a terminal
anchor compare deepseek-ocr-2 nemotron-3-5-parse(the CLI) - Over MCP
compare_tools {"a": "deepseek-ocr-2", "b": "nemotron-3-5-parse"}at/mcp, no key