Kraken

What Kraken is
Kraken is a free, open-source automatic text recognition system for historical documents and non-Latin writing. It is designed for humanities digitization, including research with low-resource languages and diverse scripts. Kraken can train layout analysis, reading order, and character recognition, and supports right-to-left, bidirectional, and top-to-bottom text. Its recognition outputs can include word bounding boxes and character cuts, with files in ALTO, PageXML, abbyyXML, or hOCR formats.
Kraken offers a customizable command-line interface and a Python API for building workflows and integrations. The API includes task-oriented classes for segmentation, recognition, and forced alignment. Developers can extend Kraken with plugins that add commands, model types, and tasks. A public repository provides freely available models through its command-line tools. Document processing requires a model, and models trained on similar material perform best.
Kraken runs on Linux and macOS, on x64 and ARM, and supports Python 3.10 through 3.13. Direct PDF and multi-image TIFF or JPEG2000 input requires the PDF extras package. Applications listed as integrated through its API or a plugin include eScriptorium, OCR4all, OCR-D, and arkindex by Teklia. Kraken is developed at Inria and École Pratique des Hautes Études, Université PSL, under the Apache 2.0 License.
Who it suits
Kraken suits humanities researchers and digitization teams working with historical documents, low-resource languages, or scripts that run right-to-left, bidirectionally, or vertically. Developers can use its Python API, command-line interface, and plugin system to build and extend recognition workflows.
What it does well
- Free and open source under the Apache 2.0 License
- Supports trainable layout, reading order, and character recognition
- Handles right-to-left, bidirectional, and top-to-bottom scripts
- Offers a Python API and customizable command-line interface
- Exports ALTO, PageXML, abbyyXML, and hOCR
- Provides a public repository of freely available models
What to know first
- Document processing requires a model
- Direct PDF and multi-image TIFF/JPEG2000 input requires PDF extras
- Runs on Linux and macOS
Limits
Document processing requires a model, and Kraken recommends one trained on similar material. Direct PDF and multi-image TIFF/JPEG2000 input requires the PDF extras package.
Getting started
- Open the Kraken website and follow its getting-started guide
- Use Linux or macOS on x64 or ARM
- Use Python 3.10 through 3.13
- Install the PDF extras package if you need direct PDF or multi-image TIFF/JPEG2000 input
- Choose a model for the material you want to process
- Run Kraken through its command-line interface or use its Python API
Verdict
Choose Kraken for free, open-source text recognition focused on historical documents, low-resource languages, and diverse scripts. It offers trainable recognition, multiple output formats, and API-based customization. Processing requires a model, and direct support for PDF and multi-image TIFF or JPEG2000 needs the PDF extras package.
Questions
Is Kraken free?
Yes. Kraken has a free plan and is open source under the Apache 2.0 License.
Which operating systems does Kraken support?
The getting-started guide says Kraken runs on Linux and macOS on x64 and ARM. It supports Python 3.10 through 3.13.
Does Kraken require a model?
Yes. Document processing requires a model, and a model trained on similar material performs best.
What output formats does Kraken support?
Kraken can output ALTO, PageXML, abbyyXML, and hOCR. It also supports word bounding boxes and character cuts.
Which applications integrate with Kraken?
The documentation lists eScriptorium, OCR4all, OCR-D, and arkindex by Teklia as applications or suites integrated through its API or a plugin.
Who develops Kraken?
Kraken is developed at Inria and École Pratique des Hautes Études, Université PSL.
Facts from Kraken's own pages
- Configuration
- Kraken supports configurable recognition through a network specification language and a plugin system. · kraken.re, 5 Oct 2026
- Extensibility
- Kraken’s plugin system lets developers add commands, model types, and tasks through Python entry points. · kraken.re, 4 Oct 2026
- Free plan
- Yes · kraken.re, 23 Sept 2026
- Handwriting OCR
- Yes · kraken.re, 23 Sept 2026
- Supported inputs
- both · kraken.re, 23 Sept 2026
- Installation
- The documentation says Kraken can be installed on Linux or Mac OS X, on x64 and ARM, using pip or Anaconda. · kraken.re, 5 Oct 2026
- Integrations
- The documentation lists eScriptorium, OCR4all, the OCR-D suite, and arkindex by Teklia as applications or suites integrated with Kraken. · kraken.re, 5 Oct 2026
- Intended users
- Kraken is designed for humanities digitization, including work with low-resource languages and diverse, non-conventional scripts. · kraken.re, 4 Oct 2026
- Interfaces
- Kraken provides a customizable command-line interface and an API for building custom workflows and integrating it into other projects. · kraken.re, 5 Oct 2026
- Layout and recognition
- Kraken supports trainable layout analysis, reading order, and character recognition. · kraken.re, 5 Oct 2026
- License and development
- Kraken is provided under the Apache 2.0 License and is developed at Inria and École Pratique des Hautes Études, Université PSL. · kraken.re, 4 Oct 2026
- Model repository
- Kraken provides a public repository of freely available models, accessed through its command-line tools. · kraken.re, 4 Oct 2026
- Model requirement
- Kraken requires a model for document processing, and the documentation says a model trained on similar material performs best. · kraken.re, 4 Oct 2026
- Models
- Kraken provides a public repository of model files through HTRMoPo. · kraken.re, 5 Oct 2026
- Optional input support
- Direct PDF and multi-image TIFF/JPEG2000 support requires installing the PDF extras package. · kraken.re, 4 Oct 2026
- Output formats
- Kraken can output ALTO, PageXML, AbbyyXML, and hOCR. · kraken.re, 5 Oct 2026
- Primary platform
- desktop · kraken.re, 23 Sept 2026
- Product
- Kraken is an open-source, turn-key automatic text recognition system optimized for historical and non-Latin-script writing. · kraken.re, 5 Oct 2026
- Purpose
- Kraken is an open-source automatic text recognition system optimized for historical documents and non-Latin scripts. · kraken.re, 4 Oct 2026
- Python API
- The Python API includes task-oriented classes for segmentation, recognition, and forced alignment. · kraken.re, 4 Oct 2026
- Recognition details
- Kraken supports word bounding boxes and character cuts. · kraken.re, 5 Oct 2026
- Script direction
- Kraken supports right-to-left, bidirectional, and top-to-bottom scripts. · kraken.re, 5 Oct 2026
- Script directions
- Kraken supports right-to-left, bidirectional, and top-to-bottom scripts. · kraken.re, 4 Oct 2026
- Support
- The project welcomes feedback, pull requests, bug reports, and feature suggestions through its GitHub repository. · kraken.re, 5 Oct 2026
Where Kraken stands on Freedom251
- OCR API Software#10 of 29
- OCR software#24 of 40