AI Compare
​
​
ToolsArticlesServices
Best for
    All tools

    Sales

    AI tools for finding leads, qualifying them, preparing quotes, following up and keeping the CRM up to date.

    Marketing

    AI tools for content, social media, images, video, SEO and campaigns.

    Customer service

    AI tools for answering customer emails, chats and calls, handling requests and escalating the hard cases.

    Operations

    AI tools for running the daily work: workflows, scheduling, projects, purchasing and delivery.

    Finance

    AI tools for invoices, bookkeeping, reconciliation, spreadsheets and financial reporting.

    Management & Admin

    AI tools for owners, managers and office staff: planning, reports, documents, meetings, scheduling and everyday admin.

    HR

    AI tools for hiring, screening candidates, onboarding, training and answering employee questions.

    Legal & Compliance

    AI tools for reviewing contracts, tracking deadlines and preparing compliance work for a qualified person to check.

    IT & Development

    AI tools for developers and IT teams: coding, AI models, agents, infrastructure and integrations.

Find AI tools for your team
AllAssistantsWriting & DocsImagesVideoAudioAI AgentsAutomationCode
← Back to tools

•

2025-10-08

chandra logo

chandra

Not rated yet

11.8K GitHub stars

Type:

Tool

Platforms:

Github

Task:

Generate imagesBuild RAG systemsBuild AI apps

Best for:

MarketingIT & Development
Visit websiteView on GitHub

Pricing


Starting price

$0

Type

Freemium

Overview

Chandra OCR 2 is a state of the art OCR model that converts images and PDFs into structured HTML/Markdown/JSON while preserving layout information.

Datalab State of the Art models for Document Intelligence.

README

Datalab Logo

Datalab

State of the Art models for Document Intelligence

Code License Model License Discord

Homepage Docs Public Playground


Chandra OCR 2

Chandra OCR 2 is a state of the art OCR model that converts images and PDFs into structured HTML/Markdown/JSON while preserving layout information.

Try Chandra on Datalab

Our managed platform runs an improved Chandra with higher accuracy than the open weights, zero data retention by default, SOC 2 Type 2, and custom BAAs.

If you have high volume workloads, we offer a batch processing service that has processed 200M+ pages per week — we manage the infrastructure so your workloads finish on time.

Get started with $5 in free credits — sign up — takes under 30 seconds — or try Chandra in our public playground.

Commercial self-hosting requires a license — see Commercial usage. For on-prem licensing, contact us.

News

  • 3/2026 - Chandra 2 is here with significant improvements to math, tables, layout, and multilingual OCR
  • 10/2025 - Chandra 1 launched

Features

  • Tops external olmocr benchmark and significant improvement in internal multilingual benchmarks
  • Convert documents to markdown, html, or json with detailed layout information
  • Support for 90+ languages (benchmark below)
  • Excellent handwriting support
  • Reconstructs forms accurately, including checkboxes
  • Strong performance with tables, math, and complex layouts
  • Extracts images and diagrams, and adds captions and structured data
  • Two inference modes: local (HuggingFace) and remote (vLLM server)

Quickstart

The easiest way to start is with the CLI tools:

pip install chandra-ocr

# With vLLM (recommended, lightweight install)
chandra_vllm
chandra input.pdf ./output

# With HuggingFace (requires torch)
pip install chandra-ocr[hf]
chandra input.pdf ./output --method hf

# Interactive streamlit app
pip install chandra-ocr[app]
chandra_app

Benchmarks

Multilingual performance was a focus for us with Chandra 2. There isn't a good public multilingual OCR benchmark, so we made our own. This tests tables, math, ordering, layout, and text accuracy.

See full scores below. We also have a full 90-language benchmark.

We also benchmarked Chandra 2 with the widely accepted olmocr benchmark:

See full scores below.

Examples

TypeNameLink
MathCS229 TextbookView
MathHandwritten MathView
MathChinese MathView
TablesStatistical DistributionView
TablesFinancial TableView
FormsRegistration FormView
FormsLease FormView
HandwritingCursive WritingView
HandwritingHandwritten NotesView
LanguagesArabicView
LanguagesJapaneseView
LanguagesHindiView
LanguagesRussianView
OtherChartsView
OtherChemistryView

Installation

Package

# Base install (for vLLM backend)
pip install chandra-ocr

# With HuggingFace backend (includes torch, transformers)
pip install chandra-ocr[hf]

# With all extras
pip install chandra-ocr[all]

If you're using the HuggingFace method, we also recommend installing flash attention for better performance.

From Source

git clone https://github.com/datalab-to/chandra.git
cd chandra
uv sync
source .venv/bin/activate

Usage

CLI

Process single files or entire directories:

# Single file, with vllm server (see below for how to launch vllm)
chandra input.pdf ./output --method vllm

# Process all files in a directory with local model
chandra ./documents ./output --method hf

CLI Options:

  • --method [hf|vllm]: Inference method (default: vllm)
  • --page-range TEXT: Page range for PDFs (e.g., "1-5,7,9-12")
  • --max-output-tokens INTEGER: Max tokens per page
  • --max-workers INTEGER: Parallel workers for vLLM
  • --include-images/--no-images: Extract and save images (default: include)
  • --include-headers-footers/--no-headers-footers: Include page headers/footers (default: exclude)
  • --batch-size INTEGER: Pages per batch (default: 28 for vllm, 1 for hf)

Output Structure:

Each processed file creates a subdirectory with:

  • <filename>.md - Markdown output
  • <filename>.html - HTML output
  • <filename>_metadata.json - Metadata (page info, token count, etc.)
  • Extracted images are saved directly in the output directory

Streamlit Web App

Launch the interactive demo for single-page processing:

chandra_app

vLLM Server (Optional)

For production deployments or batch processing, use the vLLM server:

chandra_vllm

This launches a Docker container with optimized inference settings. Configure via environment variables:

  • VLLM_API_BASE: Server URL (default: http://localhost:8000/v1)
  • VLLM_MODEL_NAME: Model name for the server (default: chandra)
  • VLLM_GPUS: GPU device IDs (default: 0)

You can also start your own vllm server with the datalab-to/chandra-ocr-2 model.

Configuration

Settings can be configured via environment variables or a local.env file:

# Model settings
MODEL_CHECKPOINT=datalab-to/chandra-ocr-2
MAX_OUTPUT_TOKENS=12384

# vLLM settings
VLLM_API_BASE=http://localhost:8000/v1
VLLM_MODEL_NAME=chandra
VLLM_GPUS=0

Commercial usage

This code is Apache 2.0, and our model weights use a modified OpenRAIL-M license (free for research, personal use, and startups under $2M funding/revenue, cannot be used competitively with our API). To remove the OpenRAIL license requirements, or for broader commercial licensing, visit our pricing page here.

Benchmark table

ModelArXivOld Scans MathTablesOld ScansHeaders and FootersMulti columnLong tiny textBaseOverallSource
Datalab API90.490.290.754.691.683.792.399.986.7 ± 0.8Own benchmarks
Chandra 286.989.192.151.191.482.193.799.985.8 ± 0.8Own benchmarks
dots.ocr 1.585.985.590.748.294.085.381.699.783.9dots.ocr repo
Chandra 182.280.388.050.490.881.292.399.983.1 ± 0.9Own benchmarks
olmOCR 283.082.384.947.796.183.781.999.682.4olmocr repo
dots.ocr82.164.288.340.994.182.481.299.579.1 ± 1.0dots.ocr repo
olmOCR v0.3.078.679.972.943.995.177.381.298.978.5 ± 1.1olmocr repo
Datalab Marker v1.10.083.869.774.832.386.679.485.799.676.5 ± 1.0Own benchmarks
Deepseek OCR75.272.379.733.396.166.780.199.775.4 ± 1.0Own benchmarks
Mistral OCR API77.267.560.629.393.671.377.199.472.0 ± 1.1olmocr repo
GPT-4o (Anchored)53.574.570.040.793.869.360.696.869.9 ± 1.1olmocr repo
Qwen 3 VL 8B70.275.145.637.589.162.143.094.364.6 ± 1.1Own benchmarks
Gemini Flash 2 (Anchored)54.556.172.134.264.761.571.595.663.8 ± 1.2olmocr repo

Multilingual benchmark table

The table below covers the 43 most common languages, benchmarked across multiple models. For a comprehensive evaluation across 90 languages (Chandra 2 vs Gemini 2.5 Flash only), see the full 90-language benchmark.

LanguageDatalab APIChandra 2Chandra 1Gemini 2.5 FlashGPT-5 Mini
ar67.6%68.4%34.0%84.4%55.6%
bn85.1%72.8%45.6%55.3%23.3%
ca88.7%85.1%84.2%88.0%78.5%
cs88.2%85.3%84.7%79.1%78.8%
da90.1%91.1%88.4%86.0%87.7%
de93.8%94.8%83.0%88.3%93.8%
el89.9%85.6%85.5%83.5%82.4%
es91.8%89.3%88.7%86.8%97.1%
fa82.2%75.1%69.6%61.8%56.4%
fi85.7%83.4%78.4%86.0%84.7%
fr93.3%93.7%89.6%86.1%91.1%
gu73.8%70.8%44.6%47.6%11.5%
he76.4%70.4%38.9%50.9%22.3%
hi80.5%78.4%70.2%82.7%41.0%
hr93.4%90.1%85.9%88.2%81.3%
hu88.1%82.1%82.5%84.5%84.8%
id91.3%91.6%86.7%88.3%89.7%
it94.4%94.1%89.1%85.7%91.6%
ja87.3%86.9%85.4%80.0%76.1%
jv87.5%73.2%85.1%80.4%69.6%
kn70.0%63.2%20.6%24.5%10.1%
ko89.1%81.5%82.3%84.8%78.4%
la78.0%73.8%55.9%70.5%54.6%
ml72.4%64.3%18.1%23.8%11.9%
mr80.8%75.0%57.0%69.7%20.9%
nl90.0%88.6%85.3%87.5%83.8%
no89.2%90.3%85.5%87.8%87.4%
pl93.8%91.5%83.9%89.7%90.4%
pt97.0%95.2%84.3%89.4%90.8%
ro86.2%84.5%82.1%76.1%77.3%
ru88.8%85.5%88.7%82.8%72.2%
sa57.5%51.1%33.6%44.6%12.5%
sr95.3%90.3%82.3%89.7%83.0%
sv91.9%92.8%82.1%91.1%92.1%
ta82.9%77.7%50.8%53.9%8.1%
te69.4%58.6%19.5%33.3%9.9%
th71.6%62.6%47.0%66.7%53.8%
tr88.9%84.1%68.1%84.1%78.2%
uk93.1%91.0%88.5%87.9%81.9%
ur54.1%43.2%28.1%57.6%16.9%
vi85.0%80.4%81.6%89.5%83.6%
zh87.8%88.7%88.3%70.0%70.4%
Average80.4%77.8%69.4%67.6%60.5%

Full 90-language benchmark table

We also have a more comprehensive evaluation covering 90 languages, comparing Chandra 2 against Gemini 2.5 Flash. The average scores are lower than the 43-language table above because this includes many lower-resource languages. Chandra 2 averages 72.7% vs Gemini 2.5 Flash at 60.8%.

See the full 90-language results.

Throughput

Benchmarked with vLLM on a single NVIDIA H100 80GB GPU using a diverse mix of documents (math, tables, scans, multi-column layouts) from the olmOCR benchmark set. This set is significantly slower than real-world usage - we estimate 2 pages/s in real-world usage.

ConfigurationPages/secAvg LatencyP95 LatencyFailure Rate
vLLM, 96 concurrent sequences1.4460s156s0%

Credits

Thank you to the following open source projects:

  • Huggingface Transformers
  • VLLM
  • olmocr
  • Qwen 3.5

Releases

Release information has not been added yet.

Complete your AI stack

Turn generated images into videos, articles, books, voiceovers, and automated content workflows.

Runway logo
Runway
Create videos

AI video generation and creative production platform

View tool
ChatGPT logo
ChatGPT
Write articles

General-purpose AI assistant for research, writing, coding, data analysis, image creation, and everyday productivity

View tool
AIWriteBook logo
AIWriteBook
Create books

End-to-end AI platform for writing and publishing books.

View tool
ElevenLabs logo
ElevenLabs
Add voice

AI voice, music, audio, video, and conversational agent platform

View tool
n8n logo
n8n
Automate publishing

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

View tool
Best alternatives

Compare similar tools in the same category.

CodeRabbit logo

CodeRabbit

AI-powered code review assistant for pull requests.

OpenClaw logo

OpenClaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

Cursor logo

Cursor

AI coding editor and autonomous software development platform

DeepSeek logo

DeepSeek

AI assistant for reasoning, coding, research, and agent tasks

ECC logo

ECC

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

View all in this category
Help
Pick an answer below
Hi! I can point you to the right tool or guide. What are you looking for?
Browse all articles