English | 简体中文 |
A High-Performance Multilingual OCR Engine Based on ONNX
- 2025.05.21
- Added PP-OCRv5 model, supporting 5 language types in a single model: Simplified Chinese, Traditional Chinese, Chinese Pinyin, English, and Japanese.
- Overall recognition accuracy improved by 13% compared to PP-OCRv4.
- Accuracy is consistent with PaddleOCR 3.0.
- Deep Learning Framework-Free: A universal OCR engine ready for direct deployment.
- 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.
- High-Performance Inference: Faster inference speed on computers with the same performance.
- Multilingual Support: Single model supports 5 language types: Simplified Chinese, Traditional Chinese, Chinese Pinyin, English, and Japanese.
- Model Accuracy: Consistent with PaddleOCR models.
- Domestic Hardware Adaptation: Restructured code architecture for easy adaptation to more domestic GPUs by modifying only the inference engine.
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/ppocrv5and requires no download; - The PP-OCRv5_Server-ONNX model is large and uploaded to Baidu Netdisk (extraction code: wu8t). After downloading, place the
detandrecmodels in./models/ppocrv5/to replace the existing ones.
python test_ocr.py python app-service.py curl -X POST http://localhost:5005/ocr \
-H "Content-Type: application/json" \
-d '{"image": "base64_encoded_image_data"}' {
"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 build -t ocr-service . docker run -itd --name onnxocr-service-v3 -p 5006:5005 onnxocr-service:v3 url: ip:5006/ocr
{
"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]]
}
]
} | Example 1 | Example 2 |
|---|---|
![]() |
![]() |
| Example 3 | Example 4 |
|---|---|
![]() |
![]() |
| Example 5 | Example 6 |
|---|---|
![]() |
![]() |
I am currently seeking job opportunities. Welcome to connect!

Thanks to PaddleOCR for technical support!
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).
Welcome to submit Issues and Pull Requests to improve the project together!










