rapidocr
Awesome OCR Library
What it is and what it does
RapidOCR is an open-source optical character recognition library that converts images into text using ONNX-format models derived from PaddleOCR. It's designed for speed and low resource consumption, supporting offline deployment across multiple platforms and programming languages. The Python package wraps these models with a simple API: instantiate an engine, pass an image (file path or URL), and receive structured text detection and recognition results.
The library depends on 11 runtime packages including opencv_python for image processing, numpy for numerical operations, and Pillow for image handling. It's actively maintained, supports Python 3.8 through 3.13, and has no known security vulnerabilities. The permissive Apache 2.0 license permits commercial use, though the underlying OCR models retain Baidu copyright.
Use it for:
- Extract text from scanned documents or photographs for data entry or archival without cloud dependencies.
- Build document processing pipelines that detect and recognize text in invoices, receipts, or forms.
- Integrate OCR into desktop or embedded applications where offline operation and low latency are required.
- Preprocess images for machine learning workflows that need structured text input from visual data.
- Batch-process large image collections to extract and index text content locally.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
RapidOCR extracts text from images using ONNX-based models optimized for speed and cross-platform deployment, supporting Chinese, English, and other languages with offline inference.
Yes. RapidOCR is worth installing for offline OCR tasks where speed and low resource use matter. It has active maintenance, no security issues, permissive licensing, and low install friction. The 11 dependencies are standard and well-maintained. Primary gotcha: models download on first use and require internet access for initial setup.
Install
rapidocr on PyPI
pip
pip install rapidocruv
uv add rapidocrpoetry
poetry add rapidocrInstalling rapidocr
Before you install
Low install friction with a pure-Python wheel and 11 well-established runtime dependencies. Active maintenance with a recent release 24 days ago and 7492 repository stars indicate solid ongoing support.
License in practice
Apache 2.0 permissive license allows commercial and private use with minimal restrictions. Note that OCR model copyright is held by Baidu; engineering scripts are owned by the repository.
Quickstart
pip install rapidocr
from rapidocr import RapidOCR
engine = RapidOCR()
result = engine("path/to/image.jpg")
print(result)
Models are downloaded on first use; requires internet access for initial setup.
Verify before relying
- Exact model download size and storage requirements on first run.
- Performance benchmarks (speed, accuracy) compared to other OCR libraries.
- Supported languages beyond Chinese and English—documentation reference provided but not detailed here.
- GPU acceleration requirements and setup for different inference backends.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<4,>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 11 — pyclipper, opencv_python, numpy, six, Shapely, PyYAML, Pillow, tqdm, omegaconf, requests, colorlog |
| Maintenance | actively maintained — 24 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,730,324/month — #2,512 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: rapidocr-3.9.2-py3-none-any.whl
Keywords: ocr, text_detection, text_recognition, db, onnxruntime, paddleocr, openvino, rapidocr
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
rapidocr-onnxruntimePerforms optical character recognition (OCR) on…
permissive · top 5,000 on PyPI
cnocrCnOCR recognizes text in images—Chinese…
permissive · top 15,000 on PyPI
paddleocrPaddleOCR extracts text, tables, and structured…
permissive · top 5,000 on PyPI
cnstdDetects text and mathematical formulas in…
permissive · top 15,000 on PyPI
paddlexPaddleX is a low-code framework for training,…
permissive · top 5,000 on PyPI
img2tableIdentifies and extracts tables from images and…
permissive · top 15,000 on PyPI
easyocrEasyOCR performs optical character recognition…
permissive · top 5,000 on PyPI
onnxtrOnnxTR extracts and recognizes text from…
permissive · top 15,000 on PyPI
kreuzbergExtracts text, tables, images, and metadata…
permissive · top 15,000 on PyPI
winrt-Windows.Media.OcrProvides Python bindings to Windows Runtime…
permissive · top 15,000 on PyPI