easyocr
End-to-End Multi-Lingual Optical Character Recognition (OCR) Solution
What it is and what it does
EasyOCR is a ready-to-use optical character recognition library built on PyTorch that detects and recognizes text in images across 80+ languages and popular writing scripts including Latin, Chinese, Arabic, Devanagari, and Cyrillic. It combines CRAFT-based text detection with CRNN-based character recognition to extract text regions as bounding boxes with confidence scores.
The library is designed for accessibility—you instantiate a Reader with your target languages, pass an image (file path, numpy array, or URL), and receive structured output. Model weights download automatically. It supports both GPU and CPU inference, and offers a command-line interface alongside the Python API. The package depends on torch, torchvision, opencv-python-headless, scipy, numpy, Pillow, scikit-image, and several geometry/formatting utilities.
Use it for:
- Extract text from multilingual documents or signs in images for data entry or indexing.
- Build document scanning workflows that preserve text location and confidence metadata.
- Process images with mixed scripts (e.g., English and Chinese) in a single pass.
- Run OCR on CPU-only systems or low-memory environments using the gpu=False flag.
- Integrate OCR into web services or batch pipelines via the Python API or CLI.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
EasyOCR performs optical character recognition on images across 80+ languages and writing scripts, extracting text with bounding boxes and confidence scores.
Yes, if you need multilingual OCR and can accept the aging maintenance status. The library is production-stable, permissively licensed, and has low install friction. However, the last release was 689 days ago—verify compatibility with your PyTorch and Python versions before deploying to production, and monitor the repository for security updates or breaking changes in your dependencies.
Install
easyocr on PyPI
pip
pip install easyocruv
uv add easyocrpoetry
poetry add easyocrInstalling easyocr
Before you install
Installation is straightforward via pip with low friction. The package is in production/stable status but aging—last release was 689 days ago. The 12 runtime dependencies include torch, torchvision, and opencv-python-headless, which are substantial but standard for deep-learning OCR work.
License in practice
Licensed under Apache License 2.0 (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
pip install easyocr
import easyocr
reader = easyocr.Reader(['en'])
result = reader.readtext('image.jpg')
print(result) # List of (bbox, text, confidence) tuples
PyTorch and torchvision must be installed first; on Windows, follow official PyTorch instructions to select the correct CUDA version or CPU-only mode.
Verify before relying
- Whether the package actively maintains compatibility with current PyTorch and torchvision versions beyond the last release date.
- Performance characteristics (speed, accuracy) across the 80+ supported languages and writing scripts.
- GPU memory requirements and whether CPU-only mode is practical for typical use cases.
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 12 — torch, torchvision, opencv-python-headless, scipy, numpy, Pillow, scikit-image, python-bidi, PyYAML, Shapely, pyclipper, ninja |
| Maintenance | aging — 689 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,852,280/month — #2,477 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: easyocr-1.7.2-py3-none-any.whl
Keywords: ocr, optical, character, recognition, deep, learning, neural, network
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
keras-ocrkeras-ocr detects and recognizes text in images…
permissive · top 15,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
ocrmacExtracts text from images on macOS using…
permissive · top 15,000 on PyPI
python-doctrpython-doctr extracts and localizes text from…
permissive · top 15,000 on PyPI
pyocrPyOCR wraps multiple OCR engines (Tesseract,…
copyleft · top 15,000 on PyPI
amazon-textract-textractorTextractor wraps Amazon Textract APIs to…
permissive · top 5,000 on PyPI
rapidocrRapidOCR extracts text from images using…
permissive · top 5,000 on PyPI
ddddocrRecognizes text and detects objects in captcha…
permissive · top 15,000 on PyPI
onnxtrOnnxTR extracts and recognizes text from…
permissive · top 15,000 on PyPI