Open Source Computer Vision Library, a C++ library of image processing and computer vision algorithms with bindings for multiple languages.
tesseract-ocr/tesseract
An open-source OCR engine (libtesseract) and command-line tool that extracts text from images, with LSTM-based recognition and 100+ languages.
Open-source alternative to:Adobe Acrobat OCR
ABBYY FineReader
- Stars
- 77,087
- Forks
- 10,852
- Open issues
- 494
- Last commit
- 18 hours ago
What is it?
Tesseract is an optical character recognition engine that reads text from images. It ships as the libtesseract library and a command-line program named tesseract, so it can be used directly from a shell or embedded in another application through its C or C++ API.
The current engine is built on an LSTM neural network focused on recognizing text lines, and it still supports the legacy character-pattern engine from Tesseract 3 through an engine mode option. Recognition works with UTF-8 text and with many languages out of the box, and models can be trained for additional languages. Input formats include PNG, JPEG and TIFF, and output can be plain text, hOCR, PDF (including invisible-text-only PDF), TSV, ALTO or PAGE.
The project does not include a graphical interface. Image quality has a large effect on results, so preprocessing the input is often necessary. Bindings for other programming languages are maintained separately.
Key features
- 01Neural network (LSTM) line recognition with legacy engine compatibility
- 02Recognizes more than 100 languages with UTF-8 output
- 03Accepts PNG, JPEG and TIFF input images
- 04Outputs plain text, hOCR, searchable PDF, TSV, ALTO and PAGE
- 05Provides C and C++ APIs through libtesseract
- 06Supports training custom language models
Use cases
- Extracting text from scanned documents into searchable PDFs
- Digitizing printed books or forms in a batch pipeline
- Adding OCR to a backend service via the C or C++ API
- Recognizing text in photos of signs or labels from the command line
Quick start
- 1
Install Tesseract from a pre-built binary package (see the Installation docs linked in the README)
- 2
Or build Tesseract from source (check that your compiler is supported first)
- 3
Run OCR on an image with the basic usage: tesseract imagename outputbase [-l lang]
Things to know
- The project does not include a GUI application; you need a third-party tool for one.
- Recognizing languages requires separate traineddata files.
- OCR accuracy often depends on improving the quality of the input image.
Topics
FAQ
- What is tesseract?
- An open-source OCR engine (libtesseract) and command-line tool that extracts text from images, with LSTM-based recognition and 100+ languages. Tesseract is an optical character recognition engine that reads text from images. It ships as the libtesseract library and a command-line program named tesseract, so it can be used directly from a shell or embedded in another application through its C or C++ API.
- Is tesseract free to use? What license does it have?
- tesseract is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is tesseract still maintained?
- Actively maintained. The last commit to tesseract was on Oct 20, 2026.
- What can I use tesseract for?
- Extracting text from scanned documents into searchable PDFs Digitizing printed books or forms in a batch pipeline Adding OCR to a backend service via the C or C++ API Recognizing text in photos of signs or labels from the command line
- How do I install tesseract?
- Install Tesseract from a pre-built binary package (see the Installation docs linked in the README) Or build Tesseract from source (check that your compiler is supported first) Run OCR on an image with the basic usage: tesseract imagename outputbase [-l lang]
- Where can I get tesseract?
- The source code and installation instructions are on GitHub: https://github.com/tesseract-ocr/tesseract
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source Python OCR library that detects and recognizes text in PDFs and images using deep learning models, built on PyTorch.
A cross-platform desktop app for AI-assisted annotation of text, image, video, point cloud and multimodal data, with built-in models and multi-format export.
Java wrappers and helper classes for OpenCV, FFmpeg and other computer vision and multimedia libraries.
Open-source OCR toolkit that runs PaddleOCR models converted to ONNX across Python and other runtimes, for fast offline text recognition.
The official CLI (hf) and Python client for downloading, uploading and managing repositories on the Hugging Face Hub.