File size: 6,381 Bytes
a6169c7 0baeb76 cdc88c2 0baeb76 cdc88c2 0baeb76 cdc88c2 0baeb76 cdc88c2 0baeb76 cdc88c2 0baeb76 5ff26aa 0baeb76 843cea9 0baeb76 5ff26aa 0baeb76 cdc88c2 af15035 cdc88c2 5ff26aa cdc88c2 af15035 5ff26aa cdc88c2 af15035 e5c541c 5ff26aa cdc88c2 af15035 e5c541c cdc88c2 5ff26aa cdc88c2 5ff26aa cdc88c2 5ff26aa cdc88c2 0baeb76 cdc88c2 0baeb76 5ff26aa | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | ---
license: mit
pipeline_tag: image-to-text
tags:
- ocr
- mnn
- rten
- onnx
- rust
- text-recognition
- text-detection
- indra-ocr
- paddleocr
---
# RustO Pre-trained OCR Models
Standalone pre-trained OCR models in pure-Rust Alibaba MNN (`rusto-nn`), RTen (`rusto-rten`), and ONNX formats, optimized for [RustO! (`rusto-rs`)](https://github.com/byrizki/rusto-rs).
These models enable zero-dependency, high-speed neural OCR inference across Rust, Python, Node.js, WebAssembly (WASM), Android, iOS, React Native, C# .NET, Go, and Flutter.
## Supported Formats
| Format | Extension | Engine Support | Recommended Environment |
|:---|:---:|:---|:---|
| **MNN** | `.mnn` | `rusto-nn` (Pure-Rust Alibaba MNN) | **Default** for Native (Linux, macOS, Windows, Android, iOS) |
| **RTen** | `.rten` | `rusto-rten` (Pure-Rust RTen) | **Default** for WebAssembly (WASM) & zero-C-toolchain setups |
| **ONNX** | `.onnx` | ONNX Runtime / Direct inspection | Cross-framework inspection, training pipelines, tract |
## Direct URL Access (CORS Enabled)
All model weights and dictionary files are globally accessible with native CORS headers:
```text
https://huggingface.co/byrizki/rusto-models/resolve/main/<folder>/<filename>
```
---
## Model Catalog by Directory
### 1. Indra OCR (`indraocr/`) — Flagship Layout & Multi-Script Engine
| Asset Base | MNN (`.mnn`) | ONNX (`.onnx`) | RTen (`.rten`) | Description |
|:---|:---:|:---:|:---:|:---|
| `indraocr/det` | 384 KB | 381 KB | 396 KB | Base Detection |
| `indraocr/rec` | 4.9 MB | 4.9 MB | 4.9 MB | Base Recognition |
| `indraocr/meta.json` | - | 207 KB | - | Vocabulary Metadata |
| `indraocr/order` | 2.9 MB | 2.9 MB | 2.9 MB | Neural Reading Order & Column Sorter |
| `indraocr/orient` | 364 KB | 363 KB | 370 KB | Page Orientation Classifier |
| `indraocr/rec_cjk` | 9.8 MB | 9.8 MB | 9.8 MB | CJK Recognition (Chinese, Japanese, Korean) |
| `indraocr/rec_rtl` | 4.6 MB | 4.6 MB | 4.7 MB | Right-to-Left Recognition (Arabic, Persian, Urdu) |
| `indraocr/rec_world` | 5.4 MB | 5.4 MB | 5.4 MB | Extended World Languages Recognition |
| `indraocr/script` | 188 KB | 188 KB | 191 KB | Script & Writing System Classifier |
| `indraocr/mathcls` | 187 KB | 187 KB | 191 KB | Math Formula Detection / Classifier |
| `indraocr/math_enc` | 9.5 MB | 9.5 MB | 9.5 MB | Math Formula Encoder |
| `indraocr/math_dec_init` | 1.3 MB | 1.3 MB | 1.4 MB | Math Formula Decoder (Init Step) |
| `indraocr/math_dec_step` | 7.6 MB | 8.1 MB | 8.1 MB | Math Formula Decoder (Autoregressive Step) |
| `indraocr/math_meta.json` | - | 7.7 KB | - | Math LaTeX Vocabulary |
### 2. PP-OCRv6 Tiers
| Folder | Detection Formats | Recognition Formats | Dictionary | Description |
|:---|:---|:---|:---:|:---|
| `ppocrv6-tiny/` | `det.mnn`, `det.onnx`, `det.rten` | `rec.mnn`, `rec.onnx`, `rec.rten` | `dict.txt` (27 KB) | PP-OCRv6 Tiny (Default Ultra-lightweight) |
| `ppocrv6-tiny-int8/` | `det.onnx`, `det.rten` | `rec.mnn`, `rec.onnx`, `rec.rten` | `dict.txt` (27 KB) | PP-OCRv6 Tiny INT8 Quantized |
| `ppocrv6-small/` | `det.mnn`, `det.onnx`, `det.rten` | `rec.mnn`, `rec.onnx`, `rec.rten` | `dict.txt` (74 KB) | PP-OCRv6 Small High-Recall |
| `ppocrv6-small-int8/` | `det.onnx`, `det.rten` | `rec.mnn`, `rec.onnx`, `rec.rten` | `dict.txt` (74 KB) | PP-OCRv6 Small INT8 Quantized |
| `ppocrv6-medium/` | `det.mnn`, `det.onnx`, `det.rten` | `rec.mnn`, `rec.onnx`, `rec.rten` | `dict.txt` (74 KB) | PP-OCRv6 Medium High-Capacity |
| `ppocrv6-medium-int8/` | `det.onnx`, `det.rten` | `rec.mnn`, `rec.onnx`, `rec.rten` | `dict.txt` (74 KB) | PP-OCRv6 Medium INT8 Quantized |
### 3. PP-OCRv5 Tiers
| Folder | Detection Formats | Recognition Formats | Dictionary | Description |
|:---|:---|:---|:---:|:---|
| `ppocrv5-mobile/` | `det.mnn`, `det.onnx`, `det.rten` | `rec.mnn`, `rec.onnx`, `rec.rten` | `dict.txt` (73 KB) | PP-OCRv5 Mobile |
| `ppocrv5-server/` | `det.mnn`, `det.onnx`, `det.rten` | `rec.mnn`, `rec.onnx`, `rec.rten` | `dict.txt` (73 KB) | PP-OCRv5 Server (High Accuracy) |
### 4. PP-OCRv4 Tiers
| Folder | Detection Formats | Recognition Formats | Dictionary | Description |
|:---|:---|:---|:---:|:---|
| `ppocrv4-mobile/` | `det.mnn`, `det.onnx`, `det.rten` | `rec.mnn`, `rec.onnx`, `rec.rten` | `dict.txt` (26 KB) | PP-OCRv4 Mobile |
| `ppocrv4-server/` | `det.mnn`, `det.onnx`, `det.rten` | `rec.mnn`, `rec.onnx`, `rec.rten` | `dict.txt` (26 KB) | PP-OCRv4 Server (High Accuracy) |
### 5. Document Intelligence & Pipeline Extras (`modules/`)
| Asset Base | MNN (`.mnn`) | ONNX (`.onnx`) | RTen (`.rten`) | Purpose |
|:---|:---:|:---:|:---:|:---|
| `modules/cls` | 519 KB | 572 KB | 605 KB | Text-Line 180° Direction Classifier |
| `modules/orient` | 6.5 MB | 6.5 MB | 6.5 MB | Document Page Orientation Detector |
| `modules/uvdoc` | 31 MB | 31 MB | 31 MB | 3D Document Dewarping & Unwarping |
| `modules/layout_cdla` | 6.9 MB | 7.1 MB | 7.2 MB | Document Layout Analysis (CDLA 10-Class) |
| `modules/layout_publaynet` | 6.9 MB | 7.1 MB | 7.2 MB | Document Layout Analysis (PubLayNet 5-Class) |
### 6. Multilingual Recognizers (`multilingual/`)
| Language | Recognition Assets | Dictionary Asset |
|:---|:---|:---|
| **Arabic** | `ppocrv5_rec_arabic.onnx`, `ppocrv5_rec_arabic.rten` | `ppocrv5_dict_arabic.txt` |
| **Cyrillic** | `ppocrv5_rec_cyrillic.rten` | `ppocrv5_dict_cyrillic.txt` |
| **Devanagari (Hindi)** | `ppocrv5_rec_devanagari.onnx`, `ppocrv5_rec_devanagari.rten` | `ppocrv5_dict_devanagari.txt` |
| **Greek** | `ppocrv5_rec_el.rten` | `ppocrv5_dict_el.txt` |
| **East Slavic** | `ppocrv5_rec_eslav.rten` | `ppocrv5_dict_eslav.txt` |
| **Korean** | `ppocrv5_rec_korean.onnx`, `ppocrv5_rec_korean.rten` | `ppocrv5_dict_korean.txt` |
| **Latin** | `ppocrv5_rec_latin.onnx`, `ppocrv5_rec_latin.rten` | `ppocrv5_dict_latin.txt` |
| **Tamil** | `ppocrv5_rec_ta.rten` | `ppocrv5_dict_ta.txt` |
| **Telugu** | `ppocrv5_rec_te.rten` | `ppocrv5_dict_te.txt` |
| **Thai** | `ppocrv5_rec_th.rten` | `ppocrv5_dict_th.txt` |
| **Japanese** | `ppocrv4_rec_japan.onnx`, `ppocrv4_rec_japan.rten` | `ppocrv4_dict_japan.txt` |
| **Traditional Chinese** | `ppocrv4_rec_chinese_cht.onnx`, `ppocrv4_rec_chinese_cht.rten` | `ppocrv4_dict_chinese_cht.txt` |
| **Kannada** | `ppocrv4_rec_kannada.onnx`, `ppocrv4_rec_kannada.rten` | `ppocrv4_dict_kannada.txt` |
---
## Integrity Verification
SHA256 checksums are recorded in `SHA256SUMS`.
|