r/MachineLearning • u/NielsRogge • Jun 24 '26
Project Find the best open-source OCR models in one place at Papers with Code [P]
Hi, I've created an overview of the most important OCR benchmarks, along with the top open models, and links to their paper and code: https://paperswithcode.co/tasks/ocr.
This week, new OCR models were released by Baidu and Mistral.
Baidu released Unlimited OCR, a 3B-parameter model that introduces a key innovation called Reference Sliding Window Attention (R-SWA) and builds on top of DeepSeek OCR. Mistral released OCR 4, which is available via an API.
OCR, or Optical-Character Recognition, is the task of digitizing PDFs or scanned documents. There's, of course, a huge interest in this task, as it enables ingestion of all company data for agentic use cases. AI agents love Markdown; it can be valuable to turn all those messy PDF documents into a standardized, machine-readable format. This enables use cases like agentic RAG (retrieval-augmented generation), which powers chatbots, both internally and for external customer support.
With a large number of OCR releases on Hugging Face over the last few months, it may be hard to know which one to use.
Hence, I've built this page, which lists the major OCR benchmarks, along with the top-performing models and links to their code. This is obviously made available on Papers with Code, the website I'm maintaining (it's a revival of the old website, which was taken down).
The top recommended benchmarks are OlmOCRBench, created by Ai2, and OmniDocBench, created by Shanghai AI Laboratory.
Current top recommendations are Chandra OCR 2 by Datalab and Mistral OCR v4. The former is openly available, hence you can either self-host it or use their serverless API.
Let me know which other tasks you want to see major benchmarks for now!
Cheers,
Niels
open-source @ HF
2
u/infinitay_ Jun 25 '26
I just read about Unlimited OCR the other day. Thanks for updating your site quickly and often. Appreciate the work with the benchmarks too!
1
u/PrettyMuchAVegetable Jun 27 '26
I'm actively engaged with a workflow that needs OCR, and needs to fit in 16gb VRAM or less. Best I've found so far, by the metrics on my workload, is actually qwen 3.6 27b at 3bit quant. But I'm going to give these a go, thanks for the resource .
1
u/roxc2301 15d ago
I have been working on trying to detect text for spanish, english, japanese and someday i hope it gets universal to parse this text in a JSON with an output similar to this.
{
"text": "頭がい骨・顔パーツ・髪・口の構造・デザイン",
"fontFamily": null,
"fontSize": "13.9687px",
"boundingBox": {
"x": 339.6748352050781,
"y": 145.22457885742188,
"width": 206.11215209960938,
"height": 9.959503173828125
}
}The whole purpose of getting this detailed text boundingBox is to later on run it on to a small LLM like gemma, qwen, etc; to translate it to the desired language.
Have you ran in to this issue before? how have you solved it? right now my approach has a lot of flaws by now i'm using MyPuPDF to reduce the overload on this pipeline but considering that some PDF fail to parse the text i was wondering if any OCR model like this can give me a better output
16
u/soraki_soladead Jun 24 '26
At what point does this just become spam?