# Is Surya OCR 2.5 SOTA?

Pending benchmarks. Announced Oct 29, 2026; no independent results yet.

As of Nov 3, 2026, Surya OCR 2.5 is pending benchmarks on isitsota: announced Oct 29, 2026, with no independent results on the boards we track yet.

Datalab's open-weights OCR model: one 689M-parameter vision-language model reads a full page and returns each block's type, position and content (text, HTML tables, LaTeX equations) in reading order. It uses character-level tokenization with some merged tokens. Weights on Hugging Face under a modified OpenRAIL-M license (free for research, personal use and startups under $5M); code Apache-2.0.

Canonical: https://isitsota.com/m/surya-ocr-2-5
Last updated: 2026-10-29
Tracking since: 2026-10-29

## Announced facts

| Fact | Value |
| --- | --- |
| Lab | Datalab |
| Announced | Oct 29, 2026 |
| API | Not yet |
| Open weights | Published · Hugging Face (datalab-to/surya-ocr-2.5), plus a GGUF build (datalab-to/surya-ocr-2.5-gguf) |
| Parameters | 689M (689,356,864, BF16) |
| Type | Document OCR, layout and reading order in one vision-language model (Qwen3.5-style architecture, per the model card) |
| License | Weights: modified AI Pubs OpenRAIL-M (free for research, personal use and startups under $5M funding/revenue; broader commercial use needs a Datalab license). Code: Apache-2.0 |
| Tokenization | Character-level, with about 20,000 merged multi-character tokens added; 88,526-token vocabulary |
| Package | surya-ocr 0.23.0 and later use Surya 2.5 by default (runs on vLLM or llama.cpp) |
| Limitations | No table cell coordinates (tables come back as HTML only); per Datalab, use Surya 2 for table structure boxes |
| Previous version | Surya OCR 2 |

Tags marked unsure are not stated on the lab's own pages.

## What would let us call it

Verdicts use only independent boards we already track. Two consecutive snapshots are required before any crown.

- [x] Publicly announced with a source
- [x] Usable by the public (API or weights)
- [ ] Listed on an independent board we track
- [ ] Enough results for a rank in a category
- [ ] Holds across two snapshots (crowns only)

## What the lab claims

Self-reported. Shown for context; not used in any verdict.

- Lab claim: 85.9 on OmniParseBench (Datalab's own benchmark, vendor-reported), up from 83.3 for Surya 2, and the highest Datalab has scored among open models under 1B parameters.
- Lab claim: 83.7 on olmOCR-bench (Datalab's run), up from 82.8 for Surya 2.
- Lab claim: 1.7x faster than Surya 2 with MTP, 4.5 pages per second on one H100 at 192 DPI.
- Lab claim: loops 38x less than Surya OCR 2 on a hard set (0.1% of requests hit the output cap, against 3.8%).
- Lab claim: 52 of 91 languages score 80% or above on Datalab's internal multilingual benchmark (74.9% overall pass rate).

## Sources

- LAB: [Datalab blog: Surya 2.5](https://www.datalab.to/blog/surya-2-5) (2026-10-29)
- LAB: [Vik Paruchuri (Datalab founder) on X](https://x.com/VikParuchuri/status/2115904821136114003) (2026-10-29)
- REPO: [datalab-to/surya-ocr-2.5 on Hugging Face](https://huggingface.co/datalab-to/surya-ocr-2.5)
- REPO: [datalab-to/surya on GitHub (v0.23.0)](https://github.com/datalab-to/surya/releases/tag/v0.23.0) (2026-10-29)

Tracking continues until an independent board lists it.

## Related

- Lab: [Datalab](https://isitsota.com/labs/datalab.md)
- All pending releases: https://isitsota.com/releases.md
- JSON: https://api.isitsota.com/v1/models/surya-ocr-2-5
