Calamari OCR
Calamari OCR is a free, open-source Python 3 engine for recognizing text in lines.
What Calamari OCR is
Calamari OCR is a free, open-source Python 3 engine for recognizing text in lines. Based on OCRopy and Kraken, it is designed for command-line use, with a modular structure that can also be integrated and customized through Python scripts. The `calamari-predict` command transcribes images of text lines, and confidence voting can combine predictions from multiple models. Users can train models with `calamari-train`, including data augmentation and early stopping; documentation also covers resuming training and cross-fold training. Linked repositories provide pretrained and experimental models. Listed dataset formats include plain files, PageXML, Abbyy, and HDF5. For PageXML training, page images are paired with their corresponding XML files. Installation instructions cover pip and source installation, with Conda as an alternative environment setup. The project is available for Linux and self-hosted use, lists an API, and is published under the GNU General Public License version 3. Its command-line workflow currently supports line OCR only; page segmentation and preprocessing require other software.
Good
- Free and open source under GNU GPL version 3
- Python integration and customization are supported
- Training includes data augmentation and early stopping
- Supports plain files, PageXML, Abbyy, and HDF5
Watch out
- Command-line OCR currently handles lines only
- Page segmentation requires other software
- Preprocessing requires other software
Who it suits
Calamari OCR is suited to developers and research or education users who want a command-line OCR engine they can integrate with Python. It can also suit users training or adapting recognition models.
Verdict
Calamari OCR provides line recognition, model training, and Python integration without a listed price. Users needing page segmentation or preprocessing will need other software.
The facts
Each one read from Calamari OCR's own pages, with the date it was checked.
What it does
- Audience
- PyPI classifies the package for developers, education, and science or research, and labels it OS independent.checked 4 Oct 2026
- Command line
- Calamari is designed to be used from the command line.checked 4 Oct 2026
- Customization
- The engine can be integrated and customized from Python scripts, and the documentation includes a Python API.checked 9 Oct 2026
- Data formats
- The documentation lists plain files, PageXML, Abbyy, and HDF5 dataset formats.checked 4 Oct 2026
- Input formats
- The documentation lists Plain files, PageXML, Abbyy, and HDF5 dataset formats.checked 9 Oct 2026
- Installation
- The README says Calamari is available on PyPI and gives `pip install calamari-ocr` as the installation command.checked 9 Oct 2026
- Intended users
- The README describes command-line use and modular integration into Python scripts, and asks research-project users to cite its 2020 paper.checked 9 Oct 2026
- License
- The GitHub repository identifies its license as GPL-3.0.checked 9 Oct 2026
- Line-level limit
- Calamari currently supports OCR on lines; page segmentation and preceding preprocessing require other software.checked 9 Oct 2026
- Line recognition
- The project describes Calamari as a line based text recognition engine.checked 4 Oct 2026
- Model training
- The `calamari-train` command trains new models and supports data augmentation and early stopping.checked 9 Oct 2026
- Model voting
- Calamari supports confidence voting across predictions from multiple models.checked 9 Oct 2026
- Notable limitation
- The command line documentation states that currently only OCR on lines is supported.checked 4 Oct 2026
- PageXML workflow
- For PageXML training, the documentation instructs users to provide page images with corresponding XML files.checked 4 Oct 2026
- Prediction
- The `calamari-predict` command transcribes images of text lines into text.checked 9 Oct 2026
- Pretrained models
- The README links to standard and experimental repositories of pretrained models.checked 9 Oct 2026
- Purpose
- Calamari is a line-based OCR engine based on OCRopy and Kraken, written in Python 3.checked 9 Oct 2026
- Support
- The project links users to its documentation for further installation and usage instructions.checked 4 Oct 2026
- Training
- Its documentation includes commands for training, resuming training, and cross fold training models.checked 4 Oct 2026
Alternatives to Calamari OCR
- 1

Veryfi Invoices OCR API
Free planAndroidiOSWebAPI8.2From $500 a month - 2
OCR.space
Free planAndroidiOSWebAPI8.1From $30 a month - 3

Amazon Textract AnalyzeExpense
Free planWebAPISelf-hosted7.6From $0.01 a month - 4
7.2From $8.99 a month - 5
Tesseract OCR
Free planAndroidiOSAPILinux7.2Free plan - 6

Taggun
WebAPI7.1From $28 a month
