OCR model zoo disguised as a PyTorch toolbox
It gives OCR researchers a shared PyTorch foundation for detection, recognition, and key information extraction so they can focus on models instead of plumbing.

What it does
MMOCR provides training and evaluation pipelines for text detection, recognition, and key information extraction, all built atop PyTorch and MMDetection. It bundles data converters, visualizers, and validation utilities to handle annotation formats, bounding-box visualization, and checkpoint evaluation. The project functions as the OCR specialist within the broader OpenMMLab ecosystem.
The interesting bit
The toolbox treats backbones, necks, heads, losses, and even data preprocessors as interchangeable Lego blocks. This means you can mix a DBNet detector with a custom optimizer or swap a CRNN recognition head for SVTR without forking the entire repository. Under the hood, it is essentially a factory pattern for OCR architectures.
Key highlights
- Supports detection (DBNet, FCENet, PSENet), recognition (ABINet, CRNN, SVTR), spotting (ABCNet, SPTS), and key information extraction (SDMG-R).
- Modular design lets you define custom backbones, necks, heads, and losses through a unified config system.
- Includes visualizers, validation tools, and data converters for standard OCR datasets.
- Community-maintained “Projects” section hosts implementations built on top of the core toolbox.
- Released under Apache 2.0; requires PyTorch 1.6+ and the MMEngine/MMCV/MDetection stack.
Caveats
- The 1.0 rewrite moved legacy code to a
0.xbranch, so existing users face a migration. - Heavy dependency on the MMEngine/MMCV/MDetection stack makes for a tall environment.
Verdict
Ideal for OCR researchers and practitioners who want to benchmark or extend state-of-the-art models without building infrastructure from scratch. If you just need a quick CLI OCR tool for documents, this is overkill.
Frequently asked
- What is open-mmlab/mmocr?
- It gives OCR researchers a shared PyTorch foundation for detection, recognition, and key information extraction so they can focus on models instead of plumbing.
- Is mmocr open source?
- Yes — open-mmlab/mmocr is open source, released under the Apache-2.0 license.
- What language is mmocr written in?
- open-mmlab/mmocr is primarily written in Python.
- How popular is mmocr?
- open-mmlab/mmocr has 4.7k stars on GitHub.
- Where can I find mmocr?
- open-mmlab/mmocr is on GitHub at https://github.com/open-mmlab/mmocr.