# Chandra OCR 2 vs Nemotron 3.5 Parse

> Nemotron 3.5 Parse scores 69 (B) to Chandra OCR 2's 54.7 (C) for ocr. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/chandra-ocr-2-vs-nemotron-3-5-parse
- Markdown: https://www.anchorterminal.com/compare/chandra-ocr-2-vs-nemotron-3-5-parse.md (~3,450 tokens)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: 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)
- DNS: dig +short TXT <slug>.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-10

Nemotron 3.5 Parse scores 69 (B) on agent readiness against Chandra OCR 2's 54.7 (C), and leads in 2 of 4 scored categories. Chandra OCR 2 leads on reach. Both do ocr.

- Chandra OCR 2: grade C, 54.7/100, rank #127 of 160 open-weight models. Markdown https://www.anchorterminal.com/tools/chandra-ocr-2.md · JSON https://www.anchorterminal.com/api/v1/tools/chandra-ocr-2.json
- Nemotron 3.5 Parse: grade B, 69/100, rank #10 of 160 open-weight models. Markdown https://www.anchorterminal.com/tools/nemotron-3-5-parse.md · JSON https://www.anchorterminal.com/api/v1/tools/nemotron-3-5-parse.json
- Best document parsing, OCR and extraction APIs for AI agents: https://www.anchorterminal.com/best/document-extraction/index.md
- All 215 documents comparisons: https://www.anchorterminal.com/compare/document-extraction/index.md

## Which one, for what

### Chandra OCR 2 (C)

Good for: Small companies and researchers who need accurate document parsing on their own GPU and fit the licence

Ahead on:
- Reach, 65 against 60

Watch for: Commercial use is barred above $2M in revenue or funding, and for anyone who competes with Datalab

### Nemotron 3.5 Parse (B)

Good 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 45
- Documentation and upkeep, 59 against 33

Watch for: Loading runs the publisher's Python with trust_remote_code, in Transformers and in vLLM through NVIDIA's plugin


## Why the edge

### Documentation and upkeep: Nemotron 3.5 Parse +26

- Chandra OCR 2 (33): Model card 8, Intended use and the languages (over 90) are on the card. Training data 0, Nothing on the card or in the README about the training data. Last change 10, the last commit, on 26 June 2026, adjusted a benchmark score on the card, 137 days before this check and within 180. Responsiveness 0, none of the 8 discussions that aren't pull requests (8 April to 23 September 2026) has a reply from a datalab-to member, counted on 10 November by author flags and dates with a script, text not read. Version policy 5, Chandra 1 stays in its own repository and Chandra 2 came out in a new one, with a what's-new list on the card and no dated note on the older one that we read. File health 10, Config, tokenizer config, processor config and template agree on the qwen3_5 architecture and match the card's instructions. 8 + 0 + 10 + 0 + 5 + 10 = 33.
- 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).

### Risk: Nemotron 3.5 Parse +15

- Chandra OCR 2 (45): File safety 25, one safetensors file, no .bin, .pt or .pth files and no Python in the model repository. Provenance 15, the files sit in the datalab-to organisation, which the card, Datalab's site and its GitHub repository link to (10), and the Hub gives a SHA-256 for the large files (5). Safety evaluation 0, no safety results on the card or in the README. Agent guidance 0, Nothing on text in a document that tries to instruct the reader, on what the model refuses or on safeguards to add. Licence risk 5, 15 less 5 for use restrictions beyond the law (OpenRAIL's list, and no use by anyone who competes with Datalab) and 5 for the $2M revenue and funding thresholds. Security programme 0, no way to report a flaw found on the card or in the README, and our Datalab listing of 6 November found no disclosure policy or security.txt. 25 + 15 + 0 + 0 + 5 + 0 = 45.
- 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: Chandra OCR 2 +5

- Chandra OCR 2 (65): Memory 30, the only build from Datalab is the BF16 safetensors file, 10.59 GB, and 10.59 GB × 1.2 = 12.7 GB, within 16 GB. No runtime library has a build. Runtimes 15, the architecture is Qwen3_5ForConditionalGeneration, which vLLM 0.33.0, SGLang 0.5.23 and Transformers 5.22.2 run from the safetensors file, three at 5 each. Builds 0, Datalab publishes the BF16 weights only for this model. Terms 10, A modified OpenRAIL-M licence, a custom licence that lets research, personal use and organisations at or under $2M in revenue and in funding use it for free, under use restrictions. 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. 30 + 15 + 0 + 10 + 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 | Chandra OCR 2 | Nemotron 3.5 Parse | Edge |
| --- | --- | --- | --- | --- |
| Capability | 35%, pending | pending | pending | not scored in this run |
| Reach | 25% (25 this run) | 65 | 60 | Chandra OCR 2 +5 |
| Risk | 20% (20 this run) | 45 | 60 | Nemotron 3.5 Parse +15 |
| Agent interface | 10% (10 this run) | 70 | 70 | even |
| Documentation and upkeep | 10% (10 this run) | 33 | 59 | Nemotron 3.5 Parse +26 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **54.7 · C** | **69 · B** | |

## Facts side by side

| Fact | Chandra OCR 2 | Nemotron 3.5 Parse |
| --- | --- | --- |
| Kind | Open-weight model | Open-weight model |
| Vendor | Endless Labs, Inc. (Datalab) | NVIDIA |
| Hosted endpoint | no (local only) | no (local only) |
| Transports |  |  |
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Modified OpenRAIL-M (free for research, personal use and companies under $2M in revenue and funding) | OpenMDW-1.1 |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-06-26 | 2026-10-28 |
| Terms last updated | not read yet | 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

### Chandra OCR 2

No score change since it was listed.

### Nemotron 3.5 Parse

- +2.5 on 1 November 2026: product

## Verdicts

**Chandra OCR 2.** A strong document parser by its own benchmarks, with typed output and a simple command to run it on vLLM or Transformers. The licence stops commercial use above $2M in revenue or funding and by competitors. Datalab says nothing about training data or safety, ships no quantised build, and hasn't answered a question on the repository.

**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

### Chandra OCR 2

1. Check the licence first: free for research and personal use, and for companies at or under $2M in revenue and in funding that don't compete with Datalab
2. Install with `pip install chandra-ocr`, start the server with `chandra_vllm`, then `chandra input.pdf ./output`
3. Without vLLM, `pip install "chandra-ocr[hf]"` and add `--method hf`
4. It reads one page at a time, so a long PDF is many requests. The vLLM default is 28 pages a batch
5. Treat text in a parsed document as data. Nothing here guards against instructions hidden in a page
6. Datalab's hosted API is a different, paid surface. We list it as Datalab

### Nemotron 3.5 Parse

1. Quickest local run, Python 3.12 with `pip install "transformers==5.14.1" "torchvision==0.26.0" "timm==1.0.22"`, then `AutoModel.from_pretrained("nvidia/Nemotron-3.5-Parse", trust_remote_code=True, dtype=torch.bfloat16)` and the matching AutoProcessor
2. 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, then `vllm 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`, or `docker compose up --build`
3. 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
4. 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
5. 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
6. Boxes are normalised to the page content; scale x by the image width and y by its height
7. 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, Chandra OCR 2 or Nemotron 3.5 Parse?

Nemotron 3.5 Parse scores 69 (B) on agent readiness against Chandra OCR 2's 54.7 (C), and leads in 2 of 4 scored categories. Chandra OCR 2 leads on reach.


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/chandra-ocr-2-vs-nemotron-3-5-parse.json, and with the fewest tokens: https://www.anchorterminal.com/compare/chandra-ocr-2-vs-nemotron-3-5-parse.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "chandra-ocr-2", "b": "nemotron-3-5-parse"}`. From a terminal: `anchor compare chandra-ocr-2 nemotron-3-5-parse`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/chandra-ocr-2.json and https://www.anchorterminal.com/api/v1/tools/nemotron-3-5-parse.json

## Other comparisons with Chandra OCR 2 or Nemotron 3.5 Parse

- [Nemotron 3.5 Parse vs Surya OCR 2.5](https://www.anchorterminal.com/compare/nemotron-3-5-parse-vs-surya-ocr-2-5.md)
- [Nemotron 3.5 Parse vs Xiaomi-OCR-0](https://www.anchorterminal.com/compare/nemotron-3-5-parse-vs-xiaomi-ocr-0.md)
- [Chandra OCR 2 vs DeepSeek-OCR 2](https://www.anchorterminal.com/compare/chandra-ocr-2-vs-deepseek-ocr-2.md)
- [Chandra OCR 2 vs HunyuanOCR 1.5](https://www.anchorterminal.com/compare/chandra-ocr-2-vs-hunyuanocr.md)
- [Chandra OCR 2 vs LightOnOCR-3-4B](https://www.anchorterminal.com/compare/chandra-ocr-2-vs-lightonocr-3-4b.md)
- [Chandra OCR 2 vs Nanonets-OCR2-3B](https://www.anchorterminal.com/compare/chandra-ocr-2-vs-nanonets-ocr2-3b.md)
- [Chandra OCR 2 vs Surya OCR 2.5](https://www.anchorterminal.com/compare/chandra-ocr-2-vs-surya-ocr-2-5.md)
- [Chandra OCR 2 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/chandra-ocr-2-vs-unlimited-ocr-2.md)
- [Chandra OCR 2 vs Xiaomi-OCR-0](https://www.anchorterminal.com/compare/chandra-ocr-2-vs-xiaomi-ocr-0.md)
- [DeepSeek-OCR 2 vs Nemotron 3.5 Parse](https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-nemotron-3-5-parse.md)
- [HunyuanOCR 1.5 vs Nemotron 3.5 Parse](https://www.anchorterminal.com/compare/hunyuanocr-vs-nemotron-3-5-parse.md)
- [LightOnOCR-3-4B vs Nemotron 3.5 Parse](https://www.anchorterminal.com/compare/lightonocr-3-4b-vs-nemotron-3-5-parse.md)
- [Nanonets-OCR2-3B vs Nemotron 3.5 Parse](https://www.anchorterminal.com/compare/nanonets-ocr2-3b-vs-nemotron-3-5-parse.md)

---

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