{"id":"surya-ocr-2-5","slug":"surya-ocr-2-5","name":"Surya OCR 2.5","orgId":"datalab","family":"surya-ocr-2-5","releaseDate":null,"availability":"announced","openWeights":true,"license":null,"paramsTotal":689356864,"paramsSource":"tracked","contextWindow":null,"knowledgeCutoff":null,"modelCardUrl":"https://www.datalab.to/blog/surya-2-5","hfRepo":null,"modalities":["image","text"],"aliases":["Surya OCR 2.5","surya ocr 2.5","surya 2.5","surya-ocr-2.5","surya-ocr-2-5","datalab-to/surya-ocr-2.5"],"aliasNote":null,"origin":"tracked","tracked":{"trackedSince":"2026-10-29","announced":"2026-10-29","blurb":"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.","api":"none","openWeights":"yes","params":{"text":"689M (689,356,864, BF16)","source":"Hugging Face model card and safetensors metadata","total":689356864},"facts":[{"label":"Type","value":"Document OCR, layout and reading order in one vision-language model (Qwen3.5-style architecture, per the model card)"},{"label":"Weights","value":"Hugging Face (datalab-to/surya-ocr-2.5), plus a GGUF build (datalab-to/surya-ocr-2.5-gguf)"},{"label":"License","value":"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"},{"label":"Tokenization","value":"Character-level, with about 20,000 merged multi-character tokens added; 88,526-token vocabulary"},{"label":"Package","value":"surya-ocr 0.23.0 and later use Surya 2.5 by default (runs on vLLM or llama.cpp)"},{"label":"Limitations","value":"No table cell coordinates (tables come back as HTML only); per Datalab, use Surya 2 for table structure boxes"},{"label":"Previous version","value":"Surya OCR 2"}],"claims":["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":[{"kind":"lab","title":"Datalab blog: Surya 2.5","url":"https://www.datalab.to/blog/surya-2-5","date":"2026-10-29"},{"kind":"lab","title":"Vik Paruchuri (Datalab founder) on X","url":"https://x.com/VikParuchuri/status/2115904821136114003","date":"2026-10-29"},{"kind":"repo","title":"datalab-to/surya-ocr-2.5 on Hugging Face","url":"https://huggingface.co/datalab-to/surya-ocr-2.5"},{"kind":"repo","title":"datalab-to/surya on GitHub (v0.23.0)","url":"https://github.com/datalab-to/surya/releases/tag/v0.23.0","date":"2026-10-29"}],"firstBenchmark":null},"organization":{"id":"datalab","name":"Datalab","slug":"datalab","country":null,"url":null,"color":"#11110F","mark":"D"},"price":null,"answer":{"word":"Pending benchmarks.","scope":"Announced Oct 29, 2026; no independent results yet.","lead":"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.","confidence":"low"},"status":"PENDING_BENCHMARKS","verdicts":[]}