What is Surya OCR 2.5?
Surya OCR 2.5 is a 689-million-parameter vision-language model from Datalab, the company behind the Marker PDF converter, released on 29 October 2026 with version 0.23.0 of the surya-ocr package. One model handles layout analysis with reading order, full-page OCR, tables as HTML with merged cells, and inline maths as LaTeX. Text-line detection is a separate small model.
It runs through the surya-ocr package, which starts a vLLM server on NVIDIA GPUs or llama.cpp on CPUs and Apple Silicon, with an experimental MLX backend. Marker 2.1.0 uses it by default. It drops one Surya 2 feature: table row and column geometry.
The code is Apache 2.0. The weights are under a modified OpenRAIL-M licence: free for research, personal use and companies under $5M in both revenue and funding; above that a paid licence is needed, priced on request.
How much does Surya OCR 2.5 cost?
| Plan | Price | What you get |
|---|---|---|
| Weights | Free under $5M | Modified OpenRAIL-M; paid licence above the threshold |
| Datalab Convert API | $4 per 1,000 pages | Fast or balanced mode; accurate $10 |
| Team | $400/month | Includes $400 of usage |
Weights free for research, personal use and companies under $5M revenue and funding; paid licence above that (price not published). Datalab API: Convert $4 per 1,000 pages fast/balanced, $10 accurate; Team plan $400/month.
Is Surya OCR 2.5 worth it?
Surya 2.5 is a speed upgrade more than an accuracy leap, and speed is what matters at this size. Datalab measures 4.52 pages a second on one H100 at 192 DPI, against 2.72 for Surya 2 with multi-token prediction, because it writes about 1,514 tokens per page instead of 3,917. Looping, the failure mode where a page runs to the token cap, falls from 3.8% of requests to 0.1%.
Accuracy gains are modest and mostly self-reported. On Datalab's own OmniParseBench it scores 85.9 against 83.3 for Surya 2, with a published bootstrap interval; on Ai2's olmOCR-bench it moves from 82.8 to 83.7. The first outside check, the BHL OCR evaluation, placed it 12th of 26 with a character error rate of 0.0432, tied with olmOCR-2. That is respectable for 689M parameters, not a new leader.
The multilingual picture is mixed. Datalab's internal 91-language set gives 74.9% overall, barely up from 74.5%; Chinese, German and Vietnamese improved, while English fell from 94.3% to 90.3%, Russian from 77.8% to 71.7% and Bengali from 61.6% to 55.3%. Teams with Russian or South Asian documents should re-test before upgrading. Table geometry is gone: surya_table --mode simple returns an error, so pipelines that need cell coordinates must stay on Surya 2.
The licence is the real constraint. Free use stops at $5M of revenue or funding, a lower ceiling than it sounds for a funded startup, and the paid price is not published. PaddleOCR-VL and DeepSeek-OCR 2 are under Apache 2.0; Surya's advantage over them is its packaging, a pip install that spawns its own server and returns structured blocks with labels, polygons and confidence scores.
Where it earns its place
An ML engineer at a seed-stage legal-tech startup
Turn 500,000 scanned contract pages a month into structured HTML
At Datalab's 4.52 pages a second, one H100 clears that in about 31 hours of GPU time. The company is under the $5M threshold, so the weights are free; it must budget for a licence once it raises past that.
A researcher digitising a university library's journals
Extract text, maths and reading order from old scientific papers
Equations come back as KaTeX-compatible LaTeX inside the HTML, and old-scan pass rates on olmOCR-bench are only 44.3%, so very degraded pages still need a larger model or manual review.
An operations lead at a 40-person accounting firm
Parse client PDFs without running GPUs
Datalab's hosted Convert API charges $4 per 1,000 pages in fast or balanced mode, so 20,000 pages a month is about $80; its pricing page does not say which modes run Surya and which run Chandra.
Before you commit
- Setup
- pip install surya-ocr, then surya_ocr on an image, PDF or folder; it spawns vLLM in Docker on NVIDIA GPUs or llama-server on CPU and Apple Silicon. Use --keep_server to avoid reloading per command.
- Integrations
- Marker 2.1.0 uses it by default; vLLM, llama.cpp (GGUF published), experimental MLX; OpenAI-compatible server can be shared; Streamlit demo app.
- Data and privacy
- Code Apache 2.0; weights modified OpenRAIL-M, free for research, personal use and companies under $5M revenue and funding. Self-hosted runs send nothing to Datalab.
- Cost at scale
- About 16,000 pages an hour on one H100 at 192 DPI, rising to about 22,000 at 96 DPI. On an M4 Max, 0.19 pages a second. Hosted: $4 per 1,000 pages fast, $10 accurate.
- Limits
- Documents only, not photos or scenes; no table geometry; vLLM context must hold an image of about 8,000 tokens plus a 12,288-token page budget; surya-ocr and vLLM conflict in one Python environment.
What’s good
- 4.52 pages a second on one H100 at 192 DPI, 1.7 times Surya 2
- Layout, reading order, OCR, HTML tables and LaTeX maths from one 689M model
- Runs on CPU and Apple Silicon via llama.cpp, Q8 under 4.3GB RSS
- Looping cut from 3.8% to 0.1% of pages
What’s not
- Weights free only under $5M revenue and funding; paid price not published
- No table row and column geometry; Surya 2 still needed for that
- English, Russian and Bengali scores fell on Datalab's multilingual set
- Independent rank 12th of 26 on the BHL OCR board
Best for
Small teams and researchers who need fast self-hosted document parsing with layout and tables, and whose company sits under the licence threshold.
Surya OCR 2.5 alternatives
Surya OCR 2.5: common questions
- Is Surya OCR 2.5 worth it?
- Surya 2.5 makes a sub-1B model a credible full document parser at about 16,000 pages an hour on one H100, but its weights licence is the one to read first. We rate it 4.0 out of 5.
- How much does Surya OCR 2.5 cost?
- Weights free for research, personal use and companies under $5M revenue and funding; paid licence above that (price not published). Datalab API: Convert $4 per 1,000 pages fast/balanced, $10 accurate; Team plan $400/month.
- What are the downsides of Surya OCR 2.5?
- Weights free only under $5M revenue and funding; paid price not published; no table row and column geometry; Surya 2 still needed for that; english, Russian and Bengali scores fell on Datalab's multilingual set; independent rank 12th of 26 on the BHL OCR board.
- Who is Surya OCR 2.5 best for?
- Small teams and researchers who need fast self-hosted document parsing with layout and tables, and whose company sits under the licence threshold.
- How much does Surya OCR 2.5 cost for a team or in production?
- About 16,000 pages an hour on one H100 at 192 DPI, rising to about 22,000 at 96 DPI. On an M4 Max, 0.19 pages a second. Hosted: $4 per 1,000 pages fast, $10 accurate.
- Is Surya OCR 2.5 safe for company data?
- Code Apache 2.0; weights modified OpenRAIL-M, free for research, personal use and companies under $5M revenue and funding. Self-hosted runs send nothing to Datalab.
- What are the best Surya OCR 2.5 alternatives?
- The closest alternatives we have reviewed are PaddleOCR-VL-1.6 and DeepSeek-OCR 2.
Answers checked Oct 31, 2026.