Skip to main content

English | 简体中文 |

OnnxOCR

A High-Performance Multilingual OCR Engine Based on ONNX

GitHub Stars
GitHub Forks
GitHub License
Python Version

🚀 Version Updates

  • 2025.05.21
    1. Added PP-OCRv5 model, supporting 5 language types in a single model: Simplified Chinese, Traditional Chinese, Chinese Pinyin, English, and Japanese.
    2. Overall recognition accuracy improved by 13% compared to PP-OCRv4.
    3. Accuracy is consistent with PaddleOCR 3.0.

🌟 Core Advantages

  1. Deep Learning Framework-Free: A universal OCR engine ready for direct deployment.
  2. Cross-Architecture Support: Uses PaddleOCR-converted ONNX models, rebuilt for deployment on both ARM and x86 architecture computers with unchanged accuracy under limited computing power.
  3. High-Performance Inference: Faster inference speed on computers with the same performance.
  4. Multilingual Support: Single model supports 5 language types: Simplified Chinese, Traditional Chinese, Chinese Pinyin, English, and Japanese.
  5. Model Accuracy: Consistent with PaddleOCR models.
  6. Domestic Hardware Adaptation: Restructured code architecture for easy adaptation to more domestic GPUs by modifying only the inference engine.

🛠️ Environment Setup

python>=3.6  

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt  

Note:

  • The Mobile version model is used by default; the PP-OCRv5_Server-ONNX model offers better performance.
  • The Mobile model is already in onnxocr/models/ppocrv5 and requires no download;
  • The PP-OCRv5_Server-ONNX model is large and uploaded to Baidu Netdisk (extraction code: wu8t). After downloading, place the det and rec models in ./models/ppocrv5/ to replace the existing ones.

🚀 One-Click Run

python test_ocr.py  

📡 API Service (CPU Example)

Start Service

python app-service.py  

Test Example

Request

curl -X POST http://localhost:5005/ocr \  
-H "Content-Type: application/json" \  
-d '{"image": "base64_encoded_image_data"}'  

Response

{  
  "processing_time": 0.456,  
  "results": [  
    {  
      "text": "Name",  
      "confidence": 0.9999361634254456,  
      "bounding_box": [[4.0, 8.0], [31.0, 8.0], [31.0, 24.0], [4.0, 24.0]]  
    },  
    {  
      "text": "Header",  
      "confidence": 0.9998759031295776,  
      "bounding_box": [[233.0, 7.0], [258.0, 7.0], [258.0, 23.0], [233.0, 23.0]]  
    }  
  ]  
}  

🐳 Docker Image Environment (CPU)

Build Image

docker build -t ocr-service .  

Run Image

docker run -itd --name onnxocr-service-v3 -p 5006:5005 onnxocr-service:v3  

POST Request

url: ip:5006/ocr  

Response Example

{  
  "processing_time": 0.456,  
  "results": [  
    {  
      "text": "Name",  
      "confidence": 0.9999361634254456,  
      "bounding_box": [[4.0, 8.0], [31.0, 8.0], [31.0, 24.0], [4.0, 24.0]]  
    },  
    {  
      "text": "Header",  
      "confidence": 0.9998759031295776,  
      "bounding_box": [[233.0, 7.0], [258.0, 7.0], [258.0, 23.0], [233.0, 23.0]]  
    }  
  ]  
}  

🌟 Effect Demonstration

Example 1 Example 2
Example 3 Example 4
Example 5 Example 6

👨💻 Contact & Communication

Career Opportunities

I am currently seeking job opportunities. Welcome to connect!
WeChat QR Code

OnnxOCR Community

WeChat Group

WeChat Group

QQ Group

QQ Group

🎉 Acknowledgments

Thanks to PaddleOCR for technical support!

🌍 Open Source & Donations

I am passionate about open source and AI technology, believing they can bring convenience and help to those in need, making the world a better place. If you recognize this project, you can support it via Alipay or WeChat Pay (please note "Support OnnxOCR" in the remarks).

WeChat Pay Alipay

📈 Star History

Star History Chart

🤝 Contribution Guidelines

Welcome to submit Issues and Pull Requests to improve the project together!

Metadata

Release files for onnxocr 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for onnxocr 2.0.0
File Size Uploaded
onnxocr-2.0.0.tar.gz 80.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for onnxocr 2.0.0
File Interpreter ABI Platform
onnxocr-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 160.1 MB

Release files / onnxocr-2.0.0.tar.gz

Download URL onnxocr-2.0.0.tar.gz
Size 80.2 MB
Tags Source
SHA-256 checksum
How to use checksums
3288c4aac54d1c6b0ed9df3d733b47e9f41ec968a7ed6f8780f0fb1e86b6c8c3
BLAKE2b-256 checksum
How to use checksums
60f40c7a3189440b05f2e6253ae41341fb051f5b26a7e973f0bf3ee70b4ef640
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / onnxocr-2.0.0-py3-none-any.whl

Download URL onnxocr-2.0.0-py3-none-any.whl
Size 79.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
fa8a24530f023c696f8c7bb48c0860b67b6ba0c48024b33f39d3586c6104e246
BLAKE2b-256 checksum
How to use checksums
665fe29c3dbb7f4ce30463a4fee35c564304090527981f301ed7f7e543c49245
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

4.0.0

2 release files

3.1.1

2 release files

3.1.0

2 release files

This release

2.0.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page