Tesseract is an OCR engine that converts images of text into machine-readable text through optical character recognition.
The tool solves the problem of extracting text from images by combining two recognition approaches. Tesseract 4 introduced a neural network-based LSTM engine focused on line recognition, while maintaining backward compatibility with the legacy character-pattern-based engine from Tesseract 3 through a legacy OCR mode. The engine requires trained data files to function and benefits from image quality preprocessing to achieve better results.
Tesseract suits projects that need to extract text from images without a graphical interface. The tool recognizes more than 100 languages out of of the box with UTF-8 support, processes multiple image formats including PNG, JPEG, and TIFF, and outputs results in various formats such as plain text, hOCR, PDF, TSV, ALTO, and PAGE. It can be trained to recognize additional languages. Projects requiring a GUI should look to third-party applications built on top of Tesseract rather than the engine itself.
Development is led by Stefan Weil with Zdenko Podobny as maintainer. The project maintains an active issue tracker and planning documentation. The codebase is written in C++ and receives updates across minor versions and bugfix releases on the main branch.