Tesseract User Manual
This user manual is for Tesseract versions 5.x
.
For versions 4.x.x
, 3.05.02
and older, see the documentation for old versions.
Introduction
Tesseract is an open source text recognition (OCR) Engine, available under the Apache 2.0 license.
- Major version 5 is the current stable version and started with release 5.0.0 on November 30, 2021.
- Newer minor versions and bugfix versions are available from GitHub.
- Latest source code is available from main branch on GitHub. Open issues can be found in issue tracker, and planning documentation.
Tesseract can be used directly via command line, or (for programmers) by using an API to extract printed text from images. It supports a wide variety of languages. Tesseract doesn't have a built-in GUI, but there are several available from the 3rdParty page. External tools, wrappers and training projects for Tesseract are listed under AddOns.
Tesseract can be used in your own project, under the terms of the Apache License 2.0. It has a fully featured API, and can be compiled for a variety of targets including Android and the iPhone. See the 3rdParty and AddOns pages for samples of what has been done with it.
If you have a question, first read the documentation, particularly the FAQ to see if your problem is addressed there. If not, search the Issues List, Tesseract user forum, and if you still can't find what you need, please ask your question in Tesseract user forum Google group.
Tesseract is free software, so if you want to pitch in and help, please do! If you find a bug and fix it yourself, the best thing to do is to attach the patch to your bug report in the Issues List.
Releases and Changelog
Tesseract with LSTM
Tesseract 4.0 added a new OCR engine based on LSTM neural networks. It works well on x86/Linux with official Language Model data available for 100+ languages and 35+ scripts. See 4.0x-Changelog for more details.
5.x.x
Source Code
Tesseract 5.x.x source code is available in the main
branch of the repository.
The main
branch is using 5.0.0
semver versioning because C++ code modernization caused API
incompatibility with 4.x release.
Binaries
Binaries are available from:
Traineddata Files
For detailed information about the different types of models, see Data Files.
Model files for version 4.00
are available from tessdata tagged 4.00. It has models from November 2016. The individual language file links are available from the following link.
Model files for version 4.0.0
and later are available from tessdata tagged 4.0.0.
It has legacy models from September 2017 that have been updated with Integer versions
of tessdata_best
LSTM models. This set of traineddata files has support for both
the legacy recognizer with --oem 0
and for LSTM models with --oem 1
.
These models are available from the following Github repo.
Two more sets of official
traineddata, trained at Google, are made available in
the following Github repos. These do not have the legacy models and only have
LSTM models usable with --oem 1
.
Language model traineddata files same as listed above for version 4.0.0
can be used
with Tesseract 5.x.x
. These are available from:
Compiling and Installation
Usage
- Tips to Improve Recognition
- Command Line Usage
- Viewer Debugging
- Common Errors and Resolutions
- Frequently Asked Qustions
API Examples
Technical Information
- Historical Technical Documentation
- API/ABI changes review for Tesseract
- Manual Pages
- Source Documentation generated by Doxygen
- Neural Nets in Tesseract
- VGSL Specs
- VGSL Specs info from Tensorflow
- Network spec for tessdata_fast models
- Network spec for tessdata_best models
- DAS 2016 tutorial slides Slides #2, #6, #7 have information about LSTM integration in Tesseract 4.0x.
- Tesseract OpenCL - Experimental
Training for Tesseract 5
Training with tesstrain.sh
(a.k.a tesseract 4 training) in unsupported/abandoned.
Please use scripts from https://github.com/tesseract-ocr/tesstrain for training.
- Train Tesseract LSTM with make from Single Line Images and Groundtruth Transcription
- Training LSTM Tesseract - based on guide by Ray Smith