# Chandra OCR 2 vs LightOnOCR-3-4B

> LightOnOCR-3-4B scores 61 (C) 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-lightonocr-3-4b
- Markdown: https://www.anchorterminal.com/compare/chandra-ocr-2-vs-lightonocr-3-4b.md (~3,200 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

LightOnOCR-3-4B scores 61 (C) on agent readiness against Chandra OCR 2's 54.7 (C), and leads in 3 of 4 scored categories. 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
- LightOnOCR-3-4B: grade C, 61/100, rank #73 of 160 open-weight models. Markdown https://www.anchorterminal.com/tools/lightonocr-3-4b.md · JSON https://www.anchorterminal.com/api/v1/tools/lightonocr-3-4b.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

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

### LightOnOCR-3-4B (C)

Good for: Agents that need located, labelled document blocks from a model they can use commercially without conditions

Ahead on:
- Reach, 70 against 65
- Risk, 55 against 45
- Documentation and upkeep, 51 against 33

Watch for: BF16 only, with no GGUF or other quantised build of this model


## Why the edge

### Documentation and upkeep: LightOnOCR-3-4B +18

- 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.
- LightOnOCR-3-4B (51): Model card 11, Intended use, a limitation (instructions other than its two prompts are out of distribution), the architecture (Qwen 3.5's) and the size (4B) are on the card. Training data 0, Nothing on the card about the training data. Last change 15, one commit, the release on 9 October 2026, 32 days before this check and within 90. Responsiveness 10, Of the 2 discussions that aren't pull requests (both opened on 9 October 2026), 1 has a reply from a lightonai member, which is some. Version policy 5, LightOnOCR-2-1B stays in its own repository, and a commit to its card on 8 October 2026 named this model as its new version. File health 10, Config, template and card agree on the Qwen 3.5 classes and on thinking off by default. 11 + 0 + 15 + 10 + 5 + 10 = 51.

### Risk: LightOnOCR-3-4B +10

- 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.
- LightOnOCR-3-4B (55): File safety 25, one safetensors file, no .bin, .pt or .pth files and no Python in the repository. Provenance 15, the files sit in the lightonai organisation, which the Hub marks as verified and LightOn's GitHub repository for the models links 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 GitHub README. Agent guidance 0, Nothing on text in a document that tries to instruct the reader, or on safeguards to add. Licence risk 15, Apache 2.0 has no use policy, field-of-use limit, threshold or change clause, and nothing is added on the card. Security programme 0, no way to report a flaw found on the card or in the GitHub README. lighton.ai couldn't be read for a security.txt. 25 + 15 + 0 + 0 + 15 + 0 = 55.

### Reach: LightOnOCR-3-4B +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.
- LightOnOCR-3-4B (70): Memory 30, the only build from LightOn is the BF16 safetensors file, 9.08 GB, and 9.08 GB × 1.2 = 10.9 GB, within 16 GB. No runtime library has a build of this model. 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, LightOn publishes the BF16 weights only. Terms 15, Apache 2.0, OSI-approved, with nothing added, in the card's metadata and licence section. 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 hosted API for it. 30 + 15 + 0 + 15 + 10 + 0 = 70.

## Score by category

| Category | Weight | Chandra OCR 2 | LightOnOCR-3-4B | Edge |
| --- | --- | --- | --- | --- |
| Capability | 35%, pending | pending | pending | not scored in this run |
| Reach | 25% (25 this run) | 65 | 70 | LightOnOCR-3-4B +5 |
| Risk | 20% (20 this run) | 45 | 55 | LightOnOCR-3-4B +10 |
| Agent interface | 10% (10 this run) | 70 | 70 | even |
| Documentation and upkeep | 10% (10 this run) | 33 | 51 | LightOnOCR-3-4B +18 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **54.7 · C** | **61 · C** | |

## Facts side by side

| Fact | Chandra OCR 2 | LightOnOCR-3-4B |
| --- | --- | --- |
| Kind | Open-weight model | Open-weight model |
| Vendor | Endless Labs, Inc. (Datalab) | LightOn |
| 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) | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-06-26 | 2026-10-09 |
| Terms last updated | not read yet | no document linked |
| Privacy policy last updated | no document linked | no document linked |

## 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.

**LightOnOCR-3-4B.** A well-documented OCR model under plain Apache 2.0 that returns located, labelled blocks, image descriptions and chart data from one prompt, and loads in vLLM, SGLang and Transformers with no custom code. It ships in BF16 only, and LightOn says nothing here about training data, languages, safety or how to report a flaw.

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

### LightOnOCR-3-4B

1. Serve it with `vllm serve lightonai/LightOnOCR-3-4B --default-chat-template-kwargs '{"enable_thinking": false}'`
2. Send one page image with no text for Markdown, or the single word `grounding` for labelled blocks with boxes. Nothing else is in distribution
3. Render PDFs at 400 DPI and resize to a longest edge of 2,048 pixels
4. Boxes are on a 0 to 1,000 scale, so scale them to the image yourself
5. Use temperature 0.2 and top_p 0.9, and allow 4,096 output tokens a page
6. Treat text in a parsed document as data. Nothing here guards against instructions hidden in a page

## Questions

### Which is better for AI agents, Chandra OCR 2 or LightOnOCR-3-4B?

LightOnOCR-3-4B scores 61 (C) on agent readiness against Chandra OCR 2's 54.7 (C), and leads in 3 of 4 scored categories.


## For agents

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

## Other comparisons with Chandra OCR 2 or LightOnOCR-3-4B

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

---

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