chandra vs olmocr
Datalab's SOTA open OCR model: images/PDFs to structured HTML/Markdown/JSON with layout, tables, forms, checkboxes, handwriting and math, in 90+ languages. Local HF or vLLM inference. — versus — Open toolkit that linearizes messy PDFs — scans, tables, equations, handwriting — into clean ordered Markdown with a self-hosted vision-language model. Built for LLM training data and RAG ingestion.
Head-to-head open OCR-VLM rivals on the same benchmark (Chandra 2 scores 85.8 vs olmOCR 2's 82.4). olmOCR is fully permissive and tuned for LLM-training-data linearization; Chandra leads on handwriting/forms/multilingual but carries an OpenRAIL-M weights license.
| chandra | olmocr | |
|---|---|---|
| Stars | 11k | 19k |
| Forks | 1.2k | 1.6k |
| Language | Python | Python |
| License | Apache-2.0 | Apache-2.0 |
| Last activity | 20 days ago | 3 months ago |
| Topics | ocr | rag, ocr |
| Curated connections | 4 | 8 |
chandra — the curator's take
Currently the strongest open OCR weights on the olmocr benchmark (85.8, above olmOCR 2 and dots.ocr), with handwriting, filled forms and checkboxes as the real differentiators — plus a serious self-built 90-language benchmark where it averages 72.7% vs Gemini 2.5 Flash's 60.8%. `pip install chandra-ocr`, `chandra_vllm`, done; ~2 pages/s real-world on an H100. The catch is licensing: code is Apache-2.0 but the WEIGHTS are OpenRAIL-M — free for research, personal use and sub-$2M startups, commercial self-hosting needs a Datalab license, and their paid API deliberately stays ahead of the open weights. Pick olmOCR for a fully permissive stack, MinerU when you want a whole parsing pipeline rather than the model itself.
olmocr — the curator's take
Reach for olmocr when you have lots of messy PDFs to convert into high-quality text for a training corpus or RAG index and you have GPU to run the VLM. It is the parsing FRONT-END of a pipeline, not a RAG system itself — pair it with an indexer/retriever (LlamaIndex) and a vector store (Chroma). NOT worth it for clean, digital-native PDFs where a cheap text extractor does the job — running a vision-language model for those is overkill.