Links to awesome OCR projects
Latest commit 46dee07 Feb 24, 2017 @kba committed on GitHub Ocropus is based on LSTM, CLSTM is another lib
Failed to load latest commit information.
LICENSE Initial commit Apr 27, 2016 Ocropus is based on LSTM, CLSTM is another lib Feb 24, 2017

Awesome OCR


This list contains links to great software tools and libraries and literature related to Optical Character Recognition (OCR).

Contributions are welcome, as is feedback.


OCR engines

  • tesseract - The definitive Open Source OCR engine Apache 2.0
  • ocropus - OCR engine based on LSTM, Apache 2.0
  • ocropus 0.4 - Older v0.4 state of Ocropus, with tesseract 2.04 and iulib, C++
  • kraken - Ocropus fork with sane defaults
  • ocracy - pure javascript lstm rnn implementation based on ocropus
  • Ocrad - The GNU OCR. GPL
  • ocrad.js - Javascript port (emscripten) of ocrad
  • digit - OCR for numbers in meter displays, such as a power meter, using caffe
  • ocular - Machine-learning OCR for historic documents
  • SwiftOCR - fast and simple OCR library written in Swift
  • Attention-OCR - OCR engine using visual attention mechanisms

OCR file formats


  • hocr-tools - Tools for doing various useful things with hOCR files, Apache 2.0
  • hocr-spec - hOCR 1.1 specification
  • ocr-transform - CLI tool to convert between hOCR and ALTO, MIT
  • hocr-parser - hOCR Specification Python Parser
  • hOCRTools - hOCR to ALTO conversion XSLT




  • moz-hocr-editor - Firefox Addon for editing hOCR files Discontinued
  • qt-box-editor - QT4 editor of tesseract-ocr box files.
  • ocr-gt-tools - Client-Server application for editing OCR ground truth.
  • Paperwork - Using scanners and OCR to grep paper documents the easy way (Linux only).
  • gImageReader - gImageReader is a simple Gtk/Qt front-end to tesseract-ocr.
  • VietOCR - A Java/.NET GUI frontend for Tesseract OCR engine, including jTessBoxEditor a graphical Tesseract box data editor
  • PoCoTo - Fast interactive batch corrections of complete OCR error series in OCR'ed historical documents.
  • OCRFeeder - GTK graphical user interface that allows the users to correct characters or bounding boxes, ODT export and more.

OCR Preprocessing

OCR as a Service

  • Open OCR - Run Tesseract in Docker containers
  • tesseract-web-service - An implementation of RESTful web service for tesseract-OCR using tornado.
  • docker-ocropy - A Docker container for running the ocropy OCR system.
  • ABBYY Cloud OCR SDK Code samples - Code samples for using the proprietary commercial ABBYY OCR API.
  • nidaba - An expandable and scalable OCR pipeline
  • gamera - A meta-framework for building document processing applications, e.g. OCR
  • ocr-tools - Project to provide CLI and web service interfaces to common OCR engines
  • ocrad-docker - Run the ocrad OCR engine in a docker container
  • kraken-docker - Run the kraken OCR engine in a docker container

OCR evaluation

OCR libraries by programming language


  • gosseract - Golang OCR library, wrapping Tesseract-ocr.


  • Tess4J - Java Native Access bindings to Tesseract.
  • tess-two - Tools for compiling Tesseract on Android and Java API.





  • pytesseract - A Python wrapper for Google Tesseract.
  • pyocr - A Python wrapper for Tesseract and Cuneiform.
  • ocrodjvu - A library and standalone tool for doing OCR on DjVu documents, wrapping Cuneiform, gocr, ocrad, ocropus and tesseract


  • rtesseract - Ruby library wrapping the tesseract and imagemagick executables.
  • ruby-tesseract - Native Tesseract bindings for Ruby MRI and JRuby

OCR training tools

  • glyph-miner - A system for extracting glyphs from early typeset prints


OCR-related publication and link lists

Blog Posts and Tutorials

OCR Showcases

  • abbyy-finereader-ocr-senate - Using OCR to parse scanned Senate Financial Disclosure forms.
  • cvOCR - An OCR system for recognizing resume or cv text, implemented in Python and C and based on tesseract
  • MathOCR - A printed scientific document recognition system, pre-alpha

Academic articles

2011 and before