Mindket

Surya OCR 2.5

Newversion 1 · updated

Overview

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 . Download it on this page, a zip of its files. Nothing in it runs by itself.

At a glance

You need
  • 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
Runs in
  • Python with the transformers library
  • Windows, macOS or Linux
  • Datalab's managed platform, which also runs Surya and the Chandra model
Start with
pip install -U huggingface_hub
hf download datalab-to/surya-ocr-2.5

Platform

WindowsOperating system
macOSOperating system
LinuxOperating system

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.

IndustryWho uses itHow they use itExample
AdministrationRecords teamsDigitize forms and letters into searchable textA scanned government form becomes text with its layout kept
ResearchAnalystsPull text and tables out of papers and reference booksA math paper page returns its blocks in reading order
SoftwareDevelopersAdd OCR and layout analysis to a document pipelineRun 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 caseWhoWhat they get back
OCRDevelopersThe text on a page image
Layout analysisPipeline buildersBlocks such as tables, images and headers, in reading order
Table readingAnalystsTables 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.
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.

ToolWhat it does
OCRReads the text on a page
Layout analysisFinds tables, images and headers and orders them for reading
Text-line detectionLocates each line of text, using a smaller model
OCR error detectionFlags 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.

  1. A page image goes in
  2. The model detects and reads text
  3. Layout blocks get categories
  4. Blocks are put in reading order
  5. 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
OmniParseBench85.9 points
olmOCR-bench83.7 percent
Internal 91-language set74.9 percent

README and files

README

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.

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.
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
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

Get the model

Download its files with Hugging Face's command line:

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.

Files
README.md  5 KB

1 file, 5 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-13

Compare with similar

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

ProductDownloads, last 30 daysLikesParametersLicenseLast change
Surya OCR 2.5 This page75,03352689Mopenrail
Chandra OCR 2Shares markdown · qwen3_5 · layout1,356,0746065.3Bopenrail
Surya 2.5 GGUFShares markdown · qwen3_5 · layout126,2328589Mopenrail
Rukopys-OCR-4BShares qwen3_5 · image-text-to-text · conversational8674.5Bapache-2.0
MinerU2.5-ProShares image-text-to-text · conversational · transformers37,1791151.2Bapache-2.0
PaddleOCR-VLShares layout · image-text-to-text · safetensors12,7801,685959Mapache-2.0
Numbers as Mindket last read them, on 2026-11-13.

Reviews

No ratings yet

Write a review

No reviews yet.

What people say

Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.

Searched

More from Mindket

See all from Mindket

anaksor-ocr

Sokheng · Kit

Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…

New

Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…

New

ACE-Step 1.5 XL SFT

ACE-Step · Kit

Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…

New

Similar in Productivity

See all in Productivity

Guizang PPT Skill

op7418 · Skill

Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…

New29.8k

Frontend Slides

zarazhangrui · Skill

Builds HTML presentations from scratch or from a PowerPoint file and shows visual style previews to pick from, for people who want web slides with no CSS or Ja…

New32.3k

IPTV

iptv-org · Kit

Collects publicly available live TV channels from many countries into playlists that any video player with live streaming can open. Made for viewers and for de…

New144k