Beyond OCR. Meet OXR.
Only 1.3B. Open source.
#1 on olmOCR-Bench, OmniDocBench & DocParsingBench🏆
#1 in parsing speed among open-source models⚡
RSI-powered. A first in document parsing.
Turn documents into Agent-Friendly data.
If OXR helps, give us a star on GitHub! 🌟
Thanks for testing, @cudanexus! Great to see OXR among the top open models on both benchmarks.
Benchmark scores and real-world use complement each other. Try OXR on your own documents.
MinerU2.5-Pro: 87.2 → 72.1
olmOCR-2: 73.8 → 82.8
Same page images. The cause is mostly one test: olmOCR-Bench wants page headers and footers removed, OmniParseBench checks they're kept.
MinerU keeps them and scores 16.8 on that category. olmOCR-2 scores 96.2.
Beyond OCR. Meet OXR.
Only 1.3B. Open source.
#1 on olmOCR-Bench, OmniDocBench & DocParsingBench🏆
#1 in parsing speed among open-source models⚡
RSI-powered. A first in document parsing.
Turn documents into Agent-Friendly data.
If OXR helps, give us a star on GitHub! 🌟
We think OXR still has room to go smaller. The key is understanding what it still needs to learn.
Binyang explains how “errors as data” shapes our RSI approach.
Tried OXR? Share the parsing issues you’ve encountered through our feedback page, linked in the reply below.
Errors as data: RSI helped us build a small document parsing model with SOTA accuracy and speed.
We built OXR, our open-source document parsing model, around the idea that a small model can go a long way if you systematically find its weaknesses and build the right training data.
Real documents keep exposing new weaknesses. But turning those failures into training data usually means finding bad examples, diagnosing them, and manually labeling new samples. We wanted model iteration to move without waiting for another round of manual data preparation.
So we built a recursive self-improvement (RSI) loop into post-training. To our knowledge, OXR is the first document parsing model to use this approach.
Each round, OXR parses unlabeled documents. A general VLM evaluates the results and analyzes errors and uncertainty; disagreement between OXR’s predictions for the same document also flags uncertain samples. A clustering model groups issues by cause, helping the VLM plan the next round of OXR training and generate targeted data.
This loop requires no manual labeling of new training data, speeding up model iteration.
I think this idea is worth exploring beyond document parsing, wherever clear, testable outcomes let failures guide what a model should learn next.
OXR is one example of how we've put this idea into practice: a 1.3B model with SOTA accuracy and speed. And we think there's still room to make it smaller.
Full write-up in the next post 👇
Turn complex documents into data AI agents can use with OXR-1.0, SoMark's 1.3B open-weight model for parsing PDFs and document images into Markdown or JSON.
🤖 https://t.co/QTT2PPnZuw
🏆 SOTA across three parsing benchmarks: Ranks #1 in the project’s published comparisons on olmOCR-Bench, OmniDocBench, and DocParsingBench.
⚡ Small model, top-tier speed: Also leads the project’s 21-model speed comparison at 557.77 native tokens/s.
📄 Beyond plain OCR: Recognizes 13 element types, including tables, formulas, chemical equations, chemical structures, and code blocks.
🧩 Bring your own layout model: Layout analysis is independent and pluggable, so teams can customize structure handling while retaining OXR’s recognition and reading-order capabilities.
🌀 Trained to improve from failures: Recursive self-improvement during post-training turns real document parsing failures into new optimization signals.
📜 OXR Open Source License applies.
@BaggyWorks Thanks for offering to support us! We’re not taking donations at the moment, but spreading the word about OXR or giving us a star on GitHub would be a great way to help. 🙌
Try OXR, our open-source document parsing model that turns your PDFs into Agent-Friendly data in Markdown or JSON.
We offer a free API with no signup or API key required.
Parse your document with one command 👇
For the full walkthrough—from your first parsed document to self-hosting—see our How to use OXR guide in the reply below.
The next batch of documents may come from an unfamiliar industry, in another language, with a different layout. Can the model still parse it reliably?
It’s a question that keeps coming up in our work.
To tackle it, we turned to AI4AI—using AI to help improve AI—and built a recursive self-improvement (RSI) loop for post-training 🔁.With help from a general vision-language model, parsing errors and uncertain results inform the next training plan and targeted data generation.
This process helped us build SoMark, our production-grade document parsing engine. But as we served more customers, we realized there were still many kinds of documents we hadn't seen.
🎯 That's why we decided to open-source OXR. We hope the community will bring new use cases, reproducible problems, and domain knowledge, helping us improve the model and bring those improvements back to developers.
Developers also need accuracy, speed, and flexibility💡. We redesigned OXR to run recognition and content-aware reading order in parallel within one model, with independent, pluggable layout analysis. This speeds up parsing while preserving layout accuracy and lets developers customize layout analysis for their business needs.
Every one of the decisions serves one goal:keep improving how the model handles unfamiliar documents, and make those improvements easier to use.
Full story below 👇