Tesseract Open Source OCR Engine (main repository)
C++ C Shell Java CMake Makefile Other
Latest commit 2b854e3 Jun 12, 2017 @zdenop zdenop committed on GitHub Merge pull request #978 from stweil/lstm
LSTMTrainer: Catch empty vectors
Failed to load latest commit information.
.github Make less verbose Jun 3, 2017
android Update Android.mk Dec 15, 2016
api Remove mathfix.h Jun 5, 2017
arch arch: Replace Tesseract data types by POSIX data types May 2, 2017
ccmain Remove mathfix.h Jun 5, 2017
ccstruct Optimize code by replacing init_to_size with resize_no_init May 12, 2017
ccutil Remove local implementation of strtok_r Jun 5, 2017
classify Remove mathfix.h Jun 5, 2017
cmake Update SourceGroups.cmake Dec 15, 2016
contrib helper script to generate dawg input files from text Oct 17, 2016
cutil Remove undefined macro MAC_OR_DOS May 1, 2017
dict Issue #529: cleanup May 13, 2017
doc doc: Fix use of MAINTAINER_MODE May 2, 2017
java automake: Enable all warnings and fix a warning May 15, 2017
lstm LSTMTrainer: Catch empty vectors Jun 4, 2017
opencl opencl: Fix some compiler warnings Jun 3, 2017
snap Update from Leptonica 1.74.1 to 1.74.2 Jun 5, 2017
tessdata Update Makefile.am (add 'lstm.train') Apr 2, 2017
testing testing: Fix warnings from shellcheck Apr 11, 2017
textord Fewer g++ -Wmaybe-uninitialized warnings May 11, 2017
training Merge pull request #969 from stweil/clean Jun 3, 2017
viewer Reviewed uses of reinterpret_cast May 10, 2017
vs2010 Remove mathfix.h Jun 5, 2017
wordrec Reduce number of new / delete operations for class LanguageModel May 19, 2017
.gitignore doc: Remove generated files and add rules to build manpages Apr 30, 2017
.travis.yml Fix Travis CI for Leptonica 1.74.2 Jun 5, 2017
AUTHORS AUTHORS: Add more contributors Nov 26, 2016
CMakeLists.txt Update CMakeLists.txt May 6, 2017
CONTRIBUTING.md Change Mac OS X -> macOS Jun 2, 2017
COPYING Result of clang tidy on recent merge Nov 7, 2016
ChangeLog Fix ChangeLog for Leptonica 1.74 Apr 22, 2017
Dockerfile Fix and improve Dockerfile May 18, 2017
INSTALL Fix typos Jan 29, 2017
INSTALL.GIT.md Update documentation for installation May 25, 2017
LICENSE Added missing license headers Nov 18, 2016
Makefile.am Merge pull request #576 from stweil/shellcheck Dec 15, 2016
NEWS top-skimming import from sf.net Mar 7, 2007
README.md Update readme for 3.05.01 Jun 2, 2017
appveyor.yml Update appveyor.yml May 6, 2017
autogen.sh automake: Enable all warnings and fix a warning May 15, 2017
configure.ac Remove most libtiff dependencies May 12, 2017
cppan.yml Turn on building of text2image. May 7, 2017
docker-compose.yml Dockerifying using travis build script Mar 18, 2016
tesseract.pc.cmake Cmake install Apr 20, 2017
tesseract.pc.in improve tesseract.pc.in - fixes #241 Mar 4, 2016


Tesseract OCR


Build Status Build status


Coverity Scan Build Status Insight.io


This package contains an OCR engine - libtesseract and a command line program - tesseract.

The lead developer is Ray Smith. The maintainer is Zdenko Podobny. For a list of contributors see AUTHORS and GitHub's log of contributors.

Tesseract has unicode (UTF-8) support, and can recognize more than 100 languages "out of the box".

Tesseract supports various output formats: plain-text, hocr(html), pdf, tsv, invisible-text-only pdf.

You should note that in many cases, in order to get better OCR results, you'll need to improve the quality of the image you are giving Tesseract.

This project does not include a GUI application. If you need one, please see the 3rdParty wiki page.

Tesseract can be trained to recognize other languages. See Tesseract Training for more information.

Brief history

Tesseract was originally developed at Hewlett-Packard Laboratories Bristol and at Hewlett-Packard Co, Greeley Colorado between 1985 and 1994, with some more changes made in 1996 to port to Windows, and some C++izing in 1998. In 2005 Tesseract was open sourced by HP. Since 2006 it is developed by Google.

The latest stable version is 3.05.01, released on June 1, 2017. Latest source code for 3.05 is available from 3.05 branch on github.

Source code for the new LSTM based 4.00.00alpha version is available from the master branch on github. Please note this branch is under active development.

See Release Notes and Change Log for more details of the releases.

Installing Tesseract

You can either Install Tesseract via pre-built binary package or build it from source.

Supported Compilers are:

  • GCC 4.8 and above
  • Clang 3.4 and above
  • MSVC 2015, 2017

Other compilers might work, but are not officially supported.

Running Tesseract

Basic command line usage:

tesseract imagename outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode] [configfiles...]

For more information about the various command line options use tesseract --help or man tesseract.

For developers

Developers can use libtesseract C or C++ API to build their own application. If you need bindings to libtesseract for other programming languages, please see the wrapper section on AddOns wiki page.

Documentation of Tesseract generated from source code by doxygen can be found on tesseract-ocr.github.io.


Before you submit an issue, please review the guidelines for this repository.

For support, first read the Wiki, particularly the FAQ to see if your problem is addressed there. If not, search the Tesseract user forum, the Tesseract developer forum and past issues, and if you still can't find what you need, ask for support in the mailing-lists.


Please report an issue only for a bug, not for asking questions.


The code in this repository is licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

NOTE: This software depends on other packages that may be licensed under different open source licenses.

Latest Version of README

For the latest online version of the README.md see: