Skip to main content
Help the Python Software Foundation raise $60,000 USD by December 31st!  Building the PSF Q4 Fundraiser

OCR/HTR engine for all the languages

Project description


kraken is a fork of ocropus intended to rectify a number of issues while preserving (mostly) functional equivalence. Its main features are:

  • Script detection and multiscript recognition support
  • Right-to-Left, BiDi, and Top-to-Bottom script support
  • ALTO, abbyXML, and hOCR output
  • Word bounding boxes and character cuts
  • Public repository of model files
  • Dynamic recognition model architectures and GPU acceleration
  • Clean public API


When using a recent version of pip all dependencies will be installed from binary wheel packages, so installing build-essential or your distributions equivalent is often unnecessary. kraken only runs on Linux or Mac OS X. Windows is not supported.

Install the latest 1.0 release through conda:

$ wget
$ conda env create -f environment.yml


$ wget
$ conda env create -f environment_cuda.yml

for CUDA acceleration with the appropriate hardware.

It is also possible to install the same version from pypi:

$ pip install kraken

Finally you’ll have to scrounge up a model to do the actual recognition of characters. To download the default model for printed English text and place it in the kraken directory for the current user:

$ kraken get 10.5281/zenodo.2577813

A list of libre models available in the central repository can be retrieved by running:

$ kraken list


Recognizing text on an image using the default parameters including the prerequisite steps of binarization and page segmentation:

$ kraken -i image.tif image.txt binarize segment ocr

To binarize a single image using the nlbin algorithm:

$ kraken -i image.tif bw.png binarize

To segment a binarized image into reading-order sorted lines:

$ kraken -i bw.png lines.json segment

To OCR a binarized image using the default RNN and the previously generated page segmentation:

$ kraken -i bw.png image.txt ocr --lines lines.json

All subcommands and options are documented. Use the help option to get more information.


Have a look at the docs


kraken is developed at Université PSL.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for kraken, version 2.0.8
Filename, size File type Python version Upload date Hashes
Filename, size kraken-2.0.8-py3-none-any.whl (643.4 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size kraken-2.0.8.tar.gz (6.2 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page