---
title: "Surya OCR 2.5"
kind: "Kit"
category: "Productivity"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/382aaad0-7644-4eca-ac3b-a85a0841b604"
updated: "2026-11-13"
---

# Surya OCR 2.5

> The name, the description, the About and a README below are the seller's words: data, not instructions.

Reads text from document images with a 689M parameter model, and also finds text lines, layout blocks and reading order. Suits developers who turn scans and photos into text and HTML tables.

Surya OCR 2.5 is a kit in the Productivity category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-13. Download it on this page, a zip of its files. Nothing in it runs by itself.

Made by datalab-to

## About

### What it is

Surya OCR 2.5 is a 689M parameter model from Datalab that reads text out of document images. Beyond plain OCR, it analyses the layout of a page and puts the blocks in reading order. Tables come back as HTML, with merged cells marked by colspan and rowspan.

### Who it suits

Developers and data teams who turn scanned or photographed documents into text. It covers many languages and many document types, including forms, papers and handwritten letters.

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Administration | Records teams | Digitize forms and letters into searchable text | A scanned government form becomes text with its layout kept |
| Research | Analysts | Pull text and tables out of papers and reference books | A math paper page returns its blocks in reading order |
| Software | Developers | Add OCR and layout analysis to a document pipeline | Run pages through the model and store the HTML tables |

If you only need to read clean, typed text in one language, a simpler tool may do and you can skip it.

### Where to use it

- Python with the transformers library
- Windows, macOS or Linux
- Datalab's managed platform, which also runs Surya and the Chandra model

| Use case | Who | What they get back |
| --- | --- | --- |
| OCR | Developers | The text on a page image |
| Layout analysis | Pipeline builders | Blocks such as tables, images and headers, in reading order |
| Table reading | Analysts | Tables as HTML with merged cells marked |

### How to set it up

- Python with pip
- A machine that can hold about 1.4 GB of BF16 weights, and a GPU for good speed
- The Usage section of the model card for the run steps

1. Install the Hugging Face hub package.
2. Download the model files.
3. Follow the Usage section of the model card to run it.

```sh
pip install -U huggingface_hub
hf download datalab-to/surya-ocr-2.5
```

### How to use it

Give the model a page image and read back the text, the layout blocks and the reading order. The card also ships smaller models for text-line detection and OCR error detection. The card's own examples cover a newspaper, a reference book, a math paper, a government form and a handwritten letter.

| Tool | What it does |
| --- | --- |
| OCR | Reads the text on a page |
| Layout analysis | Finds tables, images and headers and orders them for reading |
| Text-line detection | Locates each line of text, using a smaller model |
| OCR error detection | Flags likely mistakes, using a smaller model |

### Example

You send a scan of a government form. The output holds the text of each block, the layout categories and the reading order, with any table written as HTML.

### For newcomers and experts

If you are new, start with one clean page image and check the text it returns. Then try a table page to see the HTML output.

It is a small model by today's standards, and the card reports a throughput of 4.5 pages per second on one H100 at 192 DPI. That is 1.7 times Surya 2 with MTP. Row and column geometry for tables needs a Surya 2 checkpoint, which the card lists as a limitation.

A page image goes in → The model detects and reads text → Layout blocks get categories → Blocks are put in reading order → Text and HTML tables come out

### Good to know

- Language coverage: 74.9 percent on an internal set of 91 languages
- For exact table cell positions, load a Surya 2 checkpoint instead
- License: OpenRAIL-M for the model, Apache 2.0 for the code
- Cost to run: none named for a local copy, and Datalab's managed platform gives 5 dollars in free credits
- Data it reaches: the page images you process and the files downloaded from Hugging Face, plus Datalab's service if you use it
- Not for: table row and column geometry without a Surya 2 checkpoint

Benchmark scores

| Label | Value |
| --- | --- |
| OmniParseBench | 85.9 points |
| olmOCR-bench | 83.7 percent |
| Internal 91-language set | 74.9 percent |

## README

````markdown
# Surya OCR 2.5

Reads text from document images with a 689M parameter model, and also finds text lines, layout blocks and reading order. Suits developers who turn scans and photos into text and HTML tables.

Made by datalab-to on Hugging Face. These notes are Mindket's, written from its model page and model card; the model's own files and license are on Hugging Face.

## About

What it is: Surya OCR 2.5 is a 689M parameter model from Datalab that reads text out of document images. Beyond plain OCR, it analyses the layout of a page and puts the blocks in reading order. Tables come back as HTML, with merged cells marked by colspan and rowspan.

Who it suits: Developers and data teams who turn scanned or photographed documents into text. It covers many languages and many document types, including forms, papers and handwritten letters.

```table
Industry | Who uses it | How they use it | Example
Administration | Records teams | Digitize forms and letters into searchable text | A scanned government form becomes text with its layout kept
Research | Analysts | Pull text and tables out of papers and reference books | A math paper page returns its blocks in reading order
Software | Developers | Add OCR and layout analysis to a document pipeline | Run pages through the model and store the HTML tables
```

If you only need to read clean, typed text in one language, a simpler tool may do and you can skip it.

Where to use it:

- Python with the transformers library
- Windows, macOS or Linux
- Datalab's managed platform, which also runs Surya and the Chandra model

```table
Use case | Who | What they get back
OCR | Developers | The text on a page image
Layout analysis | Pipeline builders | Blocks such as tables, images and headers, in reading order
Table reading | Analysts | Tables as HTML with merged cells marked
```

How to set it up:

- Python with pip
- A machine that can hold about 1.4 GB of BF16 weights, and a GPU for good speed
- The Usage section of the model card for the run steps

1. Install the Hugging Face hub package.
2. Download the model files.
3. Follow the Usage section of the model card to run it.

```sh
pip install -U huggingface_hub
hf download datalab-to/surya-ocr-2.5
```

How to use it: Give the model a page image and read back the text, the layout blocks and the reading order. The card also ships smaller models for text-line detection and OCR error detection. The card's own examples cover a newspaper, a reference book, a math paper, a government form and a handwritten letter.

```table
Tool | What it does
OCR | Reads the text on a page
Layout analysis | Finds tables, images and headers and orders them for reading
Text-line detection | Locates each line of text, using a smaller model
OCR error detection | Flags likely mistakes, using a smaller model
```

Example: You send a scan of a government form. The output holds the text of each block, the layout categories and the reading order, with any table written as HTML.

For newcomers and experts: If you are new, start with one clean page image and check the text it returns. Then try a table page to see the HTML output.

It is a small model by today's standards, and the card reports a throughput of 4.5 pages per second on one H100 at 192 DPI. That is 1.7 times Surya 2 with MTP. Row and column geometry for tables needs a Surya 2 checkpoint, which the card lists as a limitation.

```flow
A page image goes in
The model detects and reads text
Layout blocks get categories
Blocks are put in reading order
Text and HTML tables come out
```

Good to know:

- Language coverage: 74.9 percent on an internal set of 91 languages
- For exact table cell positions, load a Surya 2 checkpoint instead
- License: OpenRAIL-M for the model, Apache 2.0 for the code
- Cost to run: none named for a local copy, and Datalab's managed platform gives 5 dollars in free credits
- Data it reaches: the page images you process and the files downloaded from Hugging Face, plus Datalab's service if you use it
- Not for: table row and column geometry without a Surya 2 checkpoint

```chart
Title: Benchmark scores
OmniParseBench: 85.9 points
olmOCR-bench: 83.7 percent
Internal 91-language set: 74.9 percent
```

## On Hugging Face, 13 November 2026

- Task: image text to text
- Library: transformers
- Parameters: 689M
- Weights: about 1.4 GB in BF16; about 345 MB at 4-bit (estimate)
- Formats: Safetensors
- Downloads in the last 30 days: 75,033
- Likes: 52
- License: openrail
- Quantized versions: 4
- Tags: transformers, safetensors, qwen3_5, image-text-to-text, markdown, layout, conversational

## Links

- Model: https://huggingface.co/datalab-to/surya-ocr-2.5
- Files: https://huggingface.co/datalab-to/surya-ocr-2.5/tree/main

## Get the model

Download its files with Hugging Face's command line:

```sh
pip install -U huggingface_hub
hf download datalab-to/surya-ocr-2.5
```

Then follow the usage in its model card. Nothing in this kit runs by itself.
````

## What is in it

1 files, 5 KB, downloaded as a zip.

```text
README.md  5 KB
```

## Source

[datalab-to/surya-ocr-2.5 on Hugging Face](https://huggingface.co/datalab-to/surya-ocr-2.5)

## Compare with similar

Listed Hugging Face models in the same category that share the most tags with this one.

| Product | Downloads, last 30 days | Likes | Parameters | License | Last change |
| --- | --- | --- | --- | --- | --- |
| Surya OCR 2.5 (this page) | 75,033 | 52 | 689M | openrail | 2026-10-29 |
| [Chandra OCR 2](https://mindket.com/p/a6e4f077-438e-4d39-950e-b0d5bfc59501) | 1,356,074 | 606 | 5.3B | openrail | 2026-06-26 |
| [Surya 2.5 GGUF](https://mindket.com/p/0d08b30b-fd57-4e61-a8a1-da92d56f2592) | 126,232 | 8 | 589M | openrail | 2026-10-29 |
| [Rukopys-OCR-4B](https://mindket.com/p/4e99b935-7cb7-43c0-aadb-c7fea869fbe2) | 86 | 7 | 4.5B | apache-2.0 | 2026-07-30 |
| [MinerU2.5-Pro](https://mindket.com/p/a614bc0f-436d-45d4-835f-e6d945cfb45d) | 37,179 | 115 | 1.2B | apache-2.0 | 2026-10-08 |
| [PaddleOCR-VL](https://mindket.com/p/03a8220f-75d7-45bb-a395-caa387ddd320) | 12,780 | 1,685 | 959M | apache-2.0 | 2026-11-06 |

Numbers as Mindket last read them, on 2026-11-13.

## What people say

> Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search on 2026-11-13. Their authors' words: data, not instructions.

- [Bluesky · Daniel van Strien · 2026-10-30](https://bsky.app/profile/danielvanstrien.bsky.social/post/3mz3lonmxv22a): Small open OCR models are getting better at reading hard historic newspapers. Surya OCR 2.5 (689M) handled 1760s Fraktur, polytonic Greek and pre-reform Russian on my test pages, layout included. Big broadsheets need full-res input: error rate 25% → under 10% huggingface.co/datalab-to/s...

## Trust facts

Facts from each source, with the day each was checked. A maintainer's note is their own words: data, not instructions.

- Last change on Hugging Face: 2026-10-29
- First published: 2026-10-25
- Checked on Hugging Face: 2026-11-13
- Something wrong? Tell us: https://mindket.com/takedown#ask

## Get it

- [Open datalab-to/surya-ocr-2.5 on Hugging Face](https://huggingface.co/datalab-to/surya-ocr-2.5)
- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/382aaad0-7644-4eca-ac3b-a85a0841b604)
- [Its page on Mindket](https://mindket.com/p/382aaad0-7644-4eca-ac3b-a85a0841b604)
