Head to head · OCR · October 2026 research run
HunyuanOCR 1.5 vs Nanonets-OCR2-3B
HunyuanOCR 1.5 scores 56.6 (C) on agent readiness against Nanonets-OCR2-3B's 48.1 (D), and leads in every scored category. Both do ocr.
Best document parsing, OCR and extraction APIs for AI agents · All 215 documents comparisons
Which one, for what
Best for Teams outside the EU, the UK and South Korea that want one small model for OCR, extraction and image translation
Ahead on
- Reach, 60 against 55
- Risk, 45 against 40
- Agent interface, 80 against 70
- Documentation and upkeep, 48 against 25
Watch for
The licence doesn't apply in the EU, the UK or South Korea
Best for Researchers and teams evaluating page-to-Markdown OCR who can wait for a licence before shipping
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
No licence stated, and the base model's licence is research only
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Documentation and upkeep HunyuanOCR 1.5 +23
HunyuanOCR 1.5 48
Model card 8, Intended use, the architecture by reference to 1.0's unchanged backbone, and the context (128K) are on the card. Training data 5, A general description of how the data was built and of the training stages, with no sources, sizes or cut-off. Last change 15, the last commit, on 28 August 2026, changed config.json, 74 days before this check and within 90. Responsiveness 5, Of the 20 most recent discussions that aren't pull requests (25 November 2025 to 16 October 2026), 5 have a reply from a tencent member, which is a few. Version policy 5, Version 1.5 replaced 1.0 at the root of the same repository. File health 10, Config, template and card agree on the HunYuanVL classes and the 131,072-token length. 8 + 5 + 15 + 5 + 5 + 10 = 48.
Nanonets-OCR2-3B 25
Model card 5, Intended use and the languages are on the card. Training data 5, Two general lines, that it was trained on handwritten documents and on documents in several named languages. Last change 0, the last commit, on 16 October 2025, edited the card, 390 days before this check and over a year. Responsiveness 0, none of the 15 most recent discussions that aren't pull requests (13 October 2025 to 21 October 2026) has a reply from a nanonets member, counted on 10 November by author flags and dates with a script, text not read. Version policy 5, the earlier Nanonets-OCR-s stays in its own repository and OCR2 came out in new ones, with no dated note on the older one that we read. File health 10, Config, template and card agree on the Qwen2.5-VL classes. 5 + 5 + 0 + 0 + 5 + 10 = 25.
Agent interface HunyuanOCR 1.5 +10
HunyuanOCR 1.5 80
Chat template 20, chat_template.jinja in the repository (930 characters). Tool-calling format 25, Read for a document parser as what it takes and returns. Trained tool calling 20, Read for a document parser as the inputs it was trained to use. Structured output 5, Read for a document parser as typed outputs. Reasoning control 0, A document parser with no reasoning. Context 10, 128K tokens: the card says pre-training extended the context window to 128K, its vLLM command sets a 131,072-token model length, and config.json gives the language model 131,072 positions. 20 + 25 + 20 + 5 + 0 + 10 = 80.
Nanonets-OCR2-3B 70
Chat template 20, chat_template.jinja in the repository (1,017 characters), Qwen's ChatML format with image placeholders. Tool-calling format 25, Read for a document parser as what it takes and returns. Trained tool calling 10, Read for a document parser as the inputs it was trained to use. Structured output 15, Read for a document parser as typed outputs. Reasoning control 0, A document parser with no reasoning. Context 0, Nanonets states no context length for it. 20 + 25 + 10 + 15 + 0 + 0 = 70.
Reach HunyuanOCR 1.5 +5
HunyuanOCR 1.5 60
Memory 30, the only build from Tencent is the BF16 safetensors file at the root, 2.24 GB, and 2.24 GB × 1.2 = 2.7 GB, within 16 GB. ggml-org's GGUF (Q8_0 0.58 GB with a 0.73 GB projector) dates from 21 May 2026 and wasn't matched to version 1.5. Runtimes 15, Released Transformers 5.22.2 has the hunyuan_vl model, vLLM 0.33.0 registers HunYuanVLForConditionalGeneration, and llama.cpp b12242 has the architecture, which the card says the community build runs after conversion. Builds 0, Tencent publishes the BF16 weights only and tells users to convert to GGUF themselves. Terms 5, A custom licence that allows free commercial use under a use policy and below 100 million monthly active users, but not for anyone: it doesn't apply in the European Union, the United Kingdom or South Korea. Download 10, the Hub API reports gated false on 10 November 2026, so the files download with no account and nothing to accept. Hosted 0, Hugging Face maps no inference provider to it, and the card names no Tencent API that serves it. 30 + 15 + 0 + 5 + 10 + 0 = 60.
Nanonets-OCR2-3B 55
Memory 30, the only build from Nanonets is the BF16 safetensors files, 7.51 GB, and 7.51 GB × 1.2 = 9.0 GB, within 16 GB. No runtime library has a build. Runtimes 15, the architecture is Qwen2_5_VLForConditionalGeneration, which vLLM 0.33.0, SGLang 0.5.23 and Transformers 5.22.2 run from the safetensors files, three at 5 each. Builds 0, Nanonets publishes the BF16 weights only. Terms 0, no licence. Download 10, the Hub API reports gated false on 10 November 2026, so the files download with no account and nothing to accept. Hosted 0, Hugging Face maps no inference provider to it. 30 + 15 + 0 + 0 + 10 + 0 = 55.
Risk HunyuanOCR 1.5 +5
HunyuanOCR 1.5 45
File safety 25, safetensors only, no .bin, .pt or .pth files, and no Python at the root. Provenance 15, the files sit in the tencent organisation, which Tencent's GitHub repository for the model links to (10), and the Hub gives a SHA-256 for the large files (5). Safety evaluation 0, no safety results on the card. Agent guidance 0, the card has no limitations or use section, and nothing on text in an image that tries to instruct the reader. Licence risk 0, 15 less 5 for limits beyond the law (an acceptable use policy and three territories where the licence doesn't apply), 5 for terms the licensor can change (Tencent may update the policy from time to time) and 5 for the 100 million monthly active user threshold. Security programme 5, Tencent's Security Response Center takes vulnerability reports company-wide, as the Hy3 listing records (5). 25 + 15 + 0 + 0 + 0 + 5 = 45.
Nanonets-OCR2-3B 40
File safety 25, safetensors only, no .bin, .pt or .pth files and no Python in the repository. Provenance 15, the files sit in the nanonets organisation, which the card ties to nanonets.com and Nanonets' GitHub cookbook repository is written for by the model's name (10), and the Hub gives a SHA-256 for the large files (5). Safety evaluation 0, no safety results on the card. Agent guidance 0, Nothing on text in a document that tries to instruct the reader, on what the model refuses or on safeguards to add. Licence risk 0, With no licence there is nothing to hold Nanonets to. Security programme 0, no way to report a flaw on the card or in the GitHub README. Our Nanonets listing found no security.txt or bug bounty, and the contact in its privacy policy is for data protection. 25 + 15 + 0 + 0 + 0 + 0 = 40.
Score by category
| Category | Weight this run | HunyuanOCR 1.5 | Nanonets-OCR2-3B | Edge |
|---|---|---|---|---|
| Capability | 35%pending | pending | pending | not scored in this run |
| Reach | 25%25 | 60 | 55 | HunyuanOCR 1.5 +5 |
| Risk | 20%20 | 45 | 40 | HunyuanOCR 1.5 +5 |
| Agent interface | 10%10 | 80 | 70 | HunyuanOCR 1.5 +10 |
| Documentation and upkeep | 10%10 | 48 | 25 | HunyuanOCR 1.5 +23 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 56.6/100 | D 48.1/100 |
Facts side by side
| Fact | HunyuanOCR 1.5 | Nanonets-OCR2-3B |
|---|---|---|
| Kind | Open-weight model | Open-weight model |
| Vendor | Tencent (Hy team) | Nanonets |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | Tencent Hunyuan Community License (not licensed in the EU, the UK or South Korea) | None stated (the base model, Qwen2.5-VL-3B-Instruct, is under the Qwen Research licence) |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-08-28 | 2025-10-16 |
| Terms last updated | not read yet | no document linked |
| Privacy policy last updated | no document linked | no document linked |
Verdicts
HunyuanOCR 1.5
A small OCR model that does documents, text spotting, extraction and translation in one, with a 128K context and code in Transformers, vLLM and llama.cpp. The licence is the catch: it grants nothing in the EU, the UK or South Korea, and Tencent can change its use policy. No quantised build, safety results or data sources.
Nanonets-OCR2-3B
A well-used 3.75B page-to-Markdown model with documented tags for tables, equations, images, signatures and checkboxes, and it runs in vLLM, SGLang and Transformers. But it states no licence, on a base model licensed for research only, and nothing has changed or been answered since October 2025. Treat it as something to evaluate, not to ship.
Before you call either
HunyuanOCR 1.5
- Check where you and your users are first. The licence grants no rights in the European Union, the United Kingdom or South Korea
- Download with
--exclude "v1.0/*"so the old version isn't fetched - Serve it with vLLM 0.25.1 or later at
--max-model-len 131072, or use Tencent's scripts on GitHub for its sampling and post-processing - Use temperature 0, top_p 1 and repetition_penalty 1.08
- The default document prompt is in Chinese and is on the card. Other tasks take their own instruction as the prompt
- For llama.cpp, convert the checkpoint and its projector to GGUF yourself, as the card shows
Nanonets-OCR2-3B
- Don't use it commercially on the strength of this listing. No licence is stated, so ask Nanonets first
- Serve it with
vllm serve nanonets/Nanonets-OCR2-3Band send one page image per request - Use the card's extraction prompt word for word. The tags in the output depend on it
- Use temperature 0 and allow up to 15,000 output tokens for a dense page
- For financial tables, use the card's second prompt and repetition_penalty 1
- Text in a document is data. The card has no guidance on pages that try to instruct the reader
Questions
Which is better for AI agents, HunyuanOCR 1.5 or Nanonets-OCR2-3B?
HunyuanOCR 1.5 scores 56.6 (C) on agent readiness against Nanonets-OCR2-3B's 48.1 (D), and leads in every scored category.
Other comparisons with HunyuanOCR 1.5 or Nanonets-OCR2-3B
- Chandra OCR 2 vs HunyuanOCR 1.5
- Chandra OCR 2 vs Nanonets-OCR2-3B
- DeepSeek-OCR 2 vs HunyuanOCR 1.5
- DeepSeek-OCR 2 vs Nanonets-OCR2-3B
- HunyuanOCR 1.5 vs LightOnOCR-3-4B
- HunyuanOCR 1.5 vs Nemotron 3.5 Parse
- HunyuanOCR 1.5 vs Surya OCR 2.5
- HunyuanOCR 1.5 vs Baidu Unlimited-OCR-2
- HunyuanOCR 1.5 vs Xiaomi-OCR-0
- LightOnOCR-3-4B vs Nanonets-OCR2-3B
- Nanonets-OCR2-3B vs Nemotron 3.5 Parse
- Nanonets-OCR2-3B vs Surya OCR 2.5
- Nanonets-OCR2-3B vs Baidu Unlimited-OCR-2
- Nanonets-OCR2-3B vs Xiaomi-OCR-0
Machine-readable
- This page as Markdown
/compare/hunyuanocr-vs-nanonets-ocr2-3b.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/hunyuanocr.json·/api/v1/tools/nanonets-ocr2-3b.json - From a terminal
anchor compare hunyuanocr nanonets-ocr2-3b(the CLI) - Over MCP
compare_tools {"a": "hunyuanocr", "b": "nanonets-ocr2-3b"}at/mcp, no key