tesseract
Extract printed text from images and create searchable PDFs with a free OCR engine and command-line tool.
- Stars
- 77k
- Forks
- 11k
- Last update
- 2 Nov 2026
Overview
Tesseract converts printed text in images into text and other output formats, including searchable PDFs. It supports more than 100 languages and offers a command-line program plus C and C++ APIs, but does not include a built-in GUI.
Who it's for
Tech stack
Features and benefits
Key features
- Recognizes printed text using an LSTM-based OCR engine.
- Supports Unicode (UTF-8) and more than 100 languages.
- Reads image formats including PNG, JPEG and TIFF.
- Exports plain text, hOCR, PDF, invisible-text-only PDF, TSV, ALTO and PAGE.
- Creates searchable PDFs directly from images.
- Can use multiple language models in one OCR run.
- Provides C and C++ APIs for embedding OCR in applications.
- Can be trained to recognize additional languages and scripts.
- Supports a legacy OCR engine when compatible traineddata files are installed.
Why it helps in Pakistan
- Reduces manual retyping of printed documents.
- Makes scanned records searchable through PDF output.
- Handles common image formats without requiring a dedicated GUI.
- Lets developers add OCR to their own applications.
- Supports multilingual document workflows with the appropriate language data.
Pakistan use cases
- 01
A Pakistani accounting office can extract text from scanned printed invoices for review and reuse.
- 02
A school in Lahore can turn images of printed notices into searchable PDFs.
- 03
A Karachi archive can create searchable copies of scanned records in supported languages.
- 04
A Pakistani software team can embed OCR in a document-processing application using the C or C++ API.
Requirements
- Hardware
- Check the official docs
- Operating system
- LinuxmacOSWindows
- Skills
- Basic terminal or command-prompt useInstalling the engine and language traineddataC or C++ programming for API integrationA supported compiler when building from source
- Accounts needed
- Check the official docs
Setup guide
Commands are copied from the project's README and official docs.
- 1
Install on Ubuntu
The documented Ubuntu installation command issudo apt install tesseract-ocr. This is a package installation, not a Docker setup. - 2
Install the required language data
Install traineddata for your document languages. Linux language packages follow the name tesseract-ocr-langcode; the English example is tesseract-ocr-eng. - 3
Run OCR
With an image named myscan.png, runtesseract myscan.png outto save text to out.txt. - 4
Create a searchable PDF
Runtesseract myscan.png out pdffor PDF output.
Works with
Embed libtesseract through its C or C++ API to extract printed text from images.
The AddOns documentation lists wrappers for using libtesseract from other programming languages.
Tesseract uses Leptonica to open input images. The README recommends support for zlib, PNG and TIFF.
Hocr2PDF
The installation documentation mentions using hOCR output with Hocr2PDF to create a searchable PDF.
What it costs
| Software | Free to self-host under the Apache-2.0 licence. |
|---|---|
| Hosting | The sources do not state hardware or RAM requirements, so a reliable VPS size and cost estimate cannot be given. Check the official docs and current hosting prices for your workload. |
FAQ
Does Tesseract have a graphical interface?
No. It provides an OCR library and command-line program. The official documentation links to third-party GUI projects.
Can it read PDF files directly?
The README describes image input through Leptonica, not PDF document input. Tesseract can produce searchable PDFs from images.
Does it support Urdu?
The supplied sources state support for more than 100 languages but do not explicitly confirm Urdu. Check the official language data list before planning an Urdu workflow.
Can I use it in my own application?
Yes. Tesseract provides C and C++ APIs and is licensed under Apache-2.0. Dependencies may have different open-source licences.
Why does recognition quality vary?
The README notes that input images often need quality improvements for better OCR results. Review the official image-quality guidance.
Troubleshooting
OCR results contain many incorrect characters.
Improve the input image quality using the official ImproveQuality guidance before retrying recognition.
A required language model is missing.
Install the corresponding traineddata package or file. Its directory depends on the installation; snap users must place files in ~/snap/tesseract/current.
Windows cannot find the tesseract command.
Add the directory containing Tesseract binaries to Windows Path. The docs give C:\Program Files\Tesseract-OCR as a likely location.
Legacy OCR mode does not work with installed language data.
Legacy mode requires traineddata that supports the legacy engine, such as the files in the tessdata repository. Check compatibility in the official data-file documentation.
Official links
Get it set up for you
Don't want to install it yourself? A Jugaad maker can set up tesseract for your business. Payment is held in Safe Deal until it works.
No maker offers a setup gig for this yet. Post a request and makers will quote.
Related tools
paperless-ngx
by paperless-ngx
Turn scanned paperwork into a searchable archive with Paperless-ngx, a community-supported document management system.
- A Pakistani accounting office ca…
- A Karachi shop can maintain a se…
- A Lahore business can digitise a…
documenso
by documenso
Open-source document signing with templates, team management, API integration, and self-hosting.
- A Lahore software agency can sen…
- A Karachi business can create te…
- An Islamabad HR team can send em…
Built by tesseract-ocr and contributors on GitHub. All credit goes to the authors. GitHub stats refresh daily. Jugaad does not host, copy or sell this code.
Is this your project?
