DharmaOCR Lite
Introduction
DharmaOCR Lite is a 3B-parameter Specialized Small Language Model (SSLM) for structured OCR, developed by Dharma-AI. It extracts text from document images into a structured JSON format with explicit header, text, footer, and margin fields.
DharmaOCR Lite achieves state-of-the-art performance on DharmaOCR-Benchmark, outperforming all evaluated open-source and commercial baselines — including GPT-4o, GPT-5.4, Claude Opus 4.6, Gemini 3.1 Pro, Google Document AI, Amazon Textract, and olmOCR-2-7B — while being significantly cheaper and faster to run.
For the full methodology, training details, and ablation studies, see our paper: DharmaOCR: Specialized Small Language Models for Structured OCR that Outperform Open-Source and Commercial Baselines.
Why DharmaOCR Lite?
Best quality among all models evaluated
DharmaOCR Lite (3B) outperforms models with more than twice as many parameters, including olmOCR-2-7B, and surpasses every commercial API tested.
🏆 DharmaOCR-Benchmark Results
| Model | Score ↑ | Degeneration Rate (%) ↓ | Time/Page (s) ↓ |
|---|---|---|---|
| 🥇 DharmaOCR Full (7B, ours) | 0.925 | 0.40 | 2.132 |
| 🥈 DharmaOCR Lite (3B, ours) | 0.911 | 0.20 ✨ | 1.464 |
Open-Source Models | |||
| Qwen2.5-VL-7B-Instruct | 0.839 | 2.42 | 3.101 |
| Qwen3-VL-8B | 0.829 | 5.65 | 7.250 |
| olmOCR-2-7B | 0.823 | 1.41 | 4.306 |
| Nanonets-OCR2-3B | 0.791 | 2.62 | 1.911 |
| Dots OCR | 0.738 | 6.85 | 2.526 |
| GLM-OCR | 0.710 | 11.69 | 1.480 |
| Qwen3-VL-2B-Instruct | 0.623 | 11.69 | 3.566 |
| Qwen2.5-VL-3B-Instruct | 0.549 | 0.60 | 1.500 |
| gemma-3-4b-it | 0.214 | 33.96 | 2.182 |
| DeepSeek-OCR | 0.196 | 21.98 | 1.213 |
Commercial APIs | |||
| Claude Opus 4.6 | 0.833 | — | — |
| Gemini 3.1 Pro | 0.820 | — | — |
| GPT-5.4 | 0.750 | — | — |
| Google Vision | 0.686 | — | — |
| Google Document AI | 0.640 | — | — |
| GPT-4o | 0.635 | — | — |
| Amazon Textract | 0.618 | — | — |
| Mistral OCR 3 | 0.574 | — | — |
Evaluated on DharmaOCR-Benchmark (instances covering printed, handwritten, and legal/administrative documents in Brazilian Portuguese). Time/page measured on NVIDIA L40S.
Lowest text degeneration rate
Text degeneration — where models get stuck in repetitive loops — is a critical but underreported problem in OCR. It's not just a quality issue: a single degenerate request can nearly double GPU time and cost for a batch of concurrent requests, reducing throughput for the entire system.
DharmaOCR Lite achieves a 0.20% degeneration rate ✨ — the lowest across all 22+ models evaluated (open-source and commercial).
| Model | Degeneration Rate (%) | vs DharmaOCR Lite |
|---|---|---|
| ✨ DharmaOCR Lite (3B, ours) | 0.20 | — |
| Qwen2.5-VL-3B-Instruct | 0.60 | 3× |
| olmOCR-2-7B | 1.41 | 7× |
| Qwen2.5-VL-7B-Instruct | 2.42 | 12× |
| Nanonets-OCR2-3B | 2.62 | 13× |
| Qwen3-VL-8B | 5.65 | 28× |
| Dots OCR | 6.85 | 34× |
| GLM-OCR | 11.69 | 58× |
| Qwen3-VL-2B-Instruct | 11.69 | 58× |
| DeepSeek-OCR | 21.98 | 110× |
| gemma-3-4b-it | 33.96 | 170× |
Degeneration rate measured on DharmaOCR-Benchmark. "vs DharmaOCR Lite" = how many times more degeneration than DharmaOCR Lite (0.20%).
Competitive cost
| Model | Score ↑ | Relative Cost ↓ |
|---|---|---|
| 🥇 DharmaOCR Lite (3B, ours) | 0.911 | 100% (reference) |
| Qwen2.5-VL-7B-Instruct | 0.839 | 212% |
| Qwen3-VL-8B | 0.829 | 495% |
| olmOCR-2-7B | 0.823 | 294% |
| Nanonets-OCR2-3B | 0.791 | 131% |
| Dots OCR | 0.738 | 173% |
| GLM-OCR | 0.710 | 101% |
| Qwen3-VL-2B-Instruct | 0.623 | 244% |
| Qwen2.5-VL-3B-Instruct | 0.549 | 102% |
| gemma-3-4b-it | 0.214 | 149% |
| DeepSeek-OCR | 0.196 | 83% |
Relative cost with DharmaOCR Lite as reference (100%). All models evaluated on NVIDIA L40S with identical vLLM configuration. Lower is better.
DharmaOCR Lite is ~3× cheaper than olmOCR-2-7B while scoring ~10% higher. Among models with comparable cost (DeepSeek-OCR, GLM-OCR, Qwen2.5-VL-3B), DharmaOCR Lite scores 2× to 4.6× higher.
Quickstart
from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
from qwen_vl_utils import process_vision_info
model_name = "dharma-ai/DharmaOCR-Lite"
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto",
)
processor = AutoProcessor.from_pretrained(model_name)
image_path = "document.png"
messages = [
{
"role": "system",
"content": "Você é um assistente de transcrição de documentos, sua função é extrair todo o texto de uma imagem",
},
{
"role": "user",
"content": [
{"type": "image", "image": image_path},
{"type": "text", "text": "Extraia todo o texto e todas as tabelas deste documento. Transcreva todas as tabelas caso existam multiplas."},
],
},
]
text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=[text],
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
).to(model.device)
generated_ids = model.generate(**inputs, max_new_tokens=8192)
generated_ids_trimmed = [
out_ids[len(in_ids):] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)[0]
print(output_text)
Output Format
DharmaOCR Lite returns each page as a structured JSON object with dedicated fields for each document region — body text, headers, footers, and margin annotations. Structured extraction allows downstream pipelines to treat these regions independently: a legal document processor might rely on headers to track article numbering, while an academic pipeline might strip footers entirely before feeding pages to an LLM. Rather than making that decision for you, DharmaOCR Lite preserves all regions and lets you select only the fields relevant to your use case — using the rest as noise filters or ignoring them altogether. Unlike approaches that collapse everything into a single text block, no information is silently discarded: relevance is domain-dependent, and what is boilerplate in one context is signal in another.
{
"header": "DOCUMENT TITLE | Page 1",
"margin": null,
"footer": "Journal Name, Vol. X, pp. 1-10, 2025.",
"text": "Full main body text extracted from the document..."
}
Fields not present in the original document are returned as null. This lets you decide whether to use auxiliary fields (header, footer, margins) depending on your application.
Real Examples
| Input Page | Rendered Text |
|---|---|
|
header: margin: footer: text: Nos termos da norma em análise, pessoas naturais e jurídicas de grande e pequeno porte têm o mesmo tratamento, restando vedado o acesso à segunda instância administrativa com base no valor da causa ou na sua complexidade, como já acontece, exemplificativamente, nas questões de menor valor da competência dos Juizados Especiais Federais (Lei n. 10.259, de 2001) e dos Juizados Especiais da Fazenda Pública (Lei n. 12.153, de 2009). Além disso, não se estabelece tratamento privilegiado da Fazenda Pública em detrimento dos contribuintes (sujeitos passivos), uma vez que o art. 93 do PLP n. 108, de 2024, aplica-se também ao reexame necessário. O princípio da isonomia ou igualdade, direito fundamental positivado no art. 5, caput, da Constituição de 1988, e vetor interpretativo das demais cláusulas constitucionais, não proíbe de maneira absoluta o tratamento legal distinto entre determinadas pessoas, apenas demanda que existam, nas lições de Ingo Wolfgang Sarlet, "critérios razoáveis e justos para determinados tratamentos desiguais"26. Referindo-se expressamente ao princípio da isonomia tributária, Roque Antonio Carrazza explica que "[a] lei tributária deve ser igual para todos e a todos deve ser aplicada com igualdade, melhor expondo, quem está na mesma situação jurídica deve receber o mesmo tratamento tributário"27. Não por outro motivo, a Constituição de 1988 confere tratamento tributário favorecido às micro e pequenas empresas (CF/1988, art. 179) e estabelece uma série de imunidades tributárias genéricas e específicas. Amparados na mesma ideia, os legisladores federal, estaduais e municipais estabelecem uma série de regras de remissão, isenção e anistia dos créditos de sua titularidade. A discriminação, em âmbito infraconstitucional, seguindo as lições de Celso Antônio Bandeira de Mello, será válida sempre que forem superados três estágios fundamentais, quais sejam: (1) escolha ponderada do fator de discriminação; (2) existência de correlação lógica entre o fator de discriminação e a desequiparação pretendida; e (3) consonância da discriminação com os interesses protegidos pela Constituição28. No caso em estudo verifica-se que a escolha do valor da causa e da complexidade da questão sob análise como elementos centrais para a definição das matérias que chegarão à segunda instância administrativa revela-se acertada, principalmente se se levar em conta o objetivo almejado com a edição da norma, qual 26 SARLET, Ingo Wolfgang; MARINONI, Luiz Guilherme; MITIDIERO, Daniel. Curso de direito constitucional. 2. ed. São Paulo: RT, 2013, p. 540-541. 27 CARRAZZA, Roque Antonio. Curso de direito constitucional tributário. 28. ed. rev. e atual. São Paulo: Malheiros, 2012, p. 89. 28 MELLO, Celso Antônio Bandeira de. Conteúdo jurídico do princípio da igualdade. 3. ed. atualizada. 8. tir. São Paulo: Malheiros, 2000. |
Model output:
{
"text": "Nos termos da norma em análise, pessoas naturais e jurídicas de grande e pequeno porte têm o mesmo tratamento, restando vedado o acesso à segunda instância administrativa com base no valor da causa ou na sua complexidade, como já acontece, exemplificativamente, nas questões de menor valor da competência dos Juizados Especiais Federais (Lei n. 10.259, de 2001) e dos Juizados Especiais da Fazenda Pública (Lei n. 12.153, de 2009).\nAlém disso, não se estabelece tratamento privilegiado da Fazenda Pública em detrimento dos contribuintes (sujeitos passivos), uma vez que o art. 93 do PLP n. 108, de 2024, aplica-se também ao reexame necessário.\nO princípio da isonomia ou igualdade, direito fundamental positivado no art. 5, caput, da Constituição de 1988, e vetor interpretativo das demais cláusulas constitucionais, não proíbe de maneira absoluta o tratamento legal distinto entre determinadas pessoas, apenas demanda que existam, nas lições de Ingo Wolfgang Sarlet, "critérios razoáveis e justos para determinados tratamentos desiguais"^26.\nReferindo-se expressamente ao princípio da isonomia tributária, Roque Antonio Carrazza explica que "[a] lei tributária deve ser igual para todos e a todos deve ser aplicada com igualdade, melhor expondo, quem está na mesma situação jurídica deve receber o mesmo tratamento tributário"^27.\nNão por outro motivo, a Constituição de 1988 confere tratamento tributário favorecido às micro e pequenas empresas (CF/1988, art. 179) e estabelece uma série de imunidades tributárias genéricas e específicas. Amparados na mesma ideia, os legisladores federal, estaduais e municipais estabelecem uma série de regras de remissão, isenção e anistia dos créditos de sua titularidade.\nA discriminação, em âmbito infraconstitucional, seguindo as lições de Celso Antônio Bandeira de Mello, será válida sempre que forem superados três estágios fundamentais, quais sejam: (1) escolha ponderada do fator de discriminação; (2) existência de correlação lógica entre o fator de discriminação e a desequiparação pretendida; e (3) consonância da discriminação com os interesses protegidos pela Constituição^28.\nNo caso em estudo verifica-se que a escolha do valor da causa e da complexidade da questão sob análise como elementos centrais para a definição das matérias que chegarão à segunda instância administrativa revela-se acertada, principalmente se se levar em conta o objetivo almejado com a edição da norma, qual\n^26 SARLET, Ingo Wolfgang; MARINONI, Luiz Guilherme; MITIDIERO, Daniel. Curso de direito constitucional. 2. ed. São Paulo: RT, 2013, p. 540-541.\n^27 CARRAZZA, Roque Antonio. Curso de direito constitucional tributário. 28. ed. rev. e atual. São Paulo: Malheiros, 2012, p. 89.\n^28 MELLO, Celso Antônio Bandeira de. Conteúdo jurídico do princípio da igualdade. 3. ed. atualizada. 8. tir. São Paulo: Malheiros, 2000.",
"header": "DOUTRINA NACIONAL 149",
"margin": null,
"footer": "CASTRO, Eduardo Moreira Lima Rodrigues de. Limitação de Acesso à Segunda Instância no Processo Administrativo Tributário: Análise de Constitucionalidade do PLP n. 108/2024.\nRevista Direito Tributário Atual v. 59. ano 43. p. 138-154. São Paulo: IBDT, 1o quadrimestre 2025."
}
| Input Page | Rendered Text |
|---|---|
|
header: margin: footer: text: O filme Coringa retrata a história de Arthur, um homem solitário com diversos traumas Em primeira análise, observa-se que o preconceito enraizado dificulta o diagnóstico de doenças Outrossim, destaca-se que o dever do Estado é minimizar os impasses para garantir a qua- Portanto, a respeito do estigma associado às doenças mentais na sociedade brasileira é mister |
Model output:
{
"header": null,
"text": "O filme Coringa retrata a história de Arthur, um homem solitário com diversos traumas\nde infância, que tenta lidar com a vida e com sua doença mental. No filme, Arthur salta\nem seu diário o fardo de ter uma doença psicológica e a pressão imposta pela sociedade para\nque ele a esconda. Fora da ficção, o estigma associado às doenças mentais na sociedade\nbrasileira não é tão disfarçado e decorre, principalmente, do tabu acerca de doenças psicológicas\ne da ausência de ações do Estado.\n\nEm primeira análise, observa-se que o preconceito enraizado dificulta o diagnóstico de doenças\nmentais. Nesse sentido, o psicanalista Sigmund Freud definiu como \"tabu\" certos temas con-\nsiderados sagrados, inquietantes e que não devem ser discutidos abertamente. Sob esta óptica, o\nestigma associado às doenças mentais advém de um tabu que, ao longo do tempo, reprimiu o\ndiálogo e o esclarecimento sobre o tema, enraizando o preconceito com doenças mentais na so-\nciedade brasileira. Dessa forma, é crível que tal ambiente social inibe a possibilidade de diagno-\nticos e tratamentos adequados, conduzindo um espaço onde milhões de brasileiros lidam soze-\nnhos com doenças psicológicas.\n\nOutrossim, destaca-se que o dever do Estado é minimizar os impasses para garantir a qua-\nlidade de vida dos cidadãos. Consoante o químico H. Louis Le Chatelier, \"quando um sistema em\nequilíbrio recebe algum tipo de perturbação externa, ele se deslocará no sentido de minimizar es-\nsa perturbação e retornar ao estado de equilíbrio\". Sob este viés, apesar de ser um princípio quí-\nmico, ele também pode ser aplicado ao meio social, uma vez que o dever do Estado é tomar\nmedidas para que o estigma associado às doenças mentais seja atenuado. Desse modo, é impres-\ncindível que os órgãos estatais solucionem o óbice e efetivem a qualidade de vida dos cidadãos.\n\nPortanto, a respeito do estigma associado às doenças mentais na sociedade brasileira é mister\nque o Estado tome medidas para solução do entrave. Para tal, compete ao Ministério da Edu-\ncação elaborar eventos abertos para a comunidade, em escolas públicas e privadas, em que\npor meio de palestras, psicólogos e professores discursarão a respeito da saúde e de doen-\nças mentais. Além disso, visto que atividades culturais possuem imenso poder transfor-\nmador, tais eventos deverão proporcionar para os crianças brincadeiras lúdicas e edu-\ncacionais, visando-as a identificar doenças psicológicas e, aos pais, como procurar\ntratamento, para que assim a realidade social no Brasil seja diferente da que é\nretratada no filme Coringa.",
"footer": null,
"margin": null
}
Serving with vLLM
vllm serve dharma-ai/DharmaOCR-Lite \
--gpu-memory-utilization 0.90 \
--max-model-len 65536 \
--max-num-batched-tokens 32000
Limitations
- Language focus: Primarily optimized for Brazilian Portuguese documents. Performance on other languages may vary.
- Field repetition: The model may occasionally repeat header/footer content within the
textfield. A post-processing step checking exact matches between fields resolves >80% of occurrences.
Citation
@misc{cardoso2026dharmaocrspecializedsmalllanguage,
title={DharmaOCR: Specialized Small Language Models for Structured OCR that outperform Open-Source and Commercial Baselines},
author={Gabriel Pimenta de Freitas Cardoso and Caio Lucas da Silva Chacon and Jonas Felipe da Fonseca Oliveira and Paulo Henrique de Medeiros Araujo},
year={2026},
eprint={2604.14314},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2604.14314},
}
License overview
This repository is licensed as follows:
- Model artifacts (
weights,checkpoints,tokenizer files,configuration files,adapters,model cards, and similar artifacts):
DharmaOCR Lite Noncommercial License 2026SPDX-License-Identifier: LicenseRef-DharmaOCR-Lite-NC-2026
See:
LICENSENOTICE.txt
Important classification
This release is not OSI open source for model artifacts.
The model is made available on a restricted noncommercial / source-available basis.
Key restrictions applicable to the Model
The Model may be used only for permitted noncommercial purposes.
The following require a separate written license from DHARMA-AI S.A.:
- commercial use;
- internal use by for-profit entities in support of business operations;
- hosted inference, API, SaaS, managed service, or white-label use;
- OEM or embedded deployments;
- enterprise deployments;
- government use;
- use by, for, on behalf of, or for the benefit of public-sector entities.
Government-use restriction
The model license expressly excludes use by or for government entities, including public-sector agencies, state-controlled entities, public universities, public hospitals, and contractors acting on their behalf, unless separately licensed in writing by DHARMA-AI S.A..
Privacy notice summary
The release statement for this repository provides that:
- the training of the released Model did not use personal information as part of the released training corpus;
- the training inputs were stated to be composed of proprietary and/or commercially licensed datasets, with anonymization and removal of sensitive information where applicable; and
- any downstream use of the software, weights, and artifacts must comply with applicable local data protection law.
Licensees act independently in their own downstream use. The mere licensing or distribution of the Model does not, by itself, make DHARMA-AI S.A. a controller, processor, operator, joint controller, or equivalent in relation to downstream data processing activities.
Contact
For technical questions, model usage, research inquiries, or paper-related discussions:
For commercial, enterprise, government, hosted/API, OEM/embedded, or other institutional licensing requests:
- Downloads last month
- 148

