# Is Tesseract OCR free? Running it yourself versus using FastOCR

## Short answer
Yes, Tesseract OCR is free: it is Apache 2.0 open source with no per-page fee. What it costs is setup, since you install the engine and language files yourself. It is a sound choice for open source OCR for running locally. FastOCR is the hosted alternative when you want a result from a browser or an API without running anything.

By the FastOCR team · Updated 4 November 2026 · Accuracy test run 31 October 2026 · We make FastOCR. Accuracy figures come from our own test of each tool we scored, ours included, on the same scans; other facts link to each tool's own pages. [How we tested](https://fastocr.org/blog/fastocr-vs-tesseract-ocr#method)

Try it here: upload an image or scanned page at https://fastocr.org/image-to-text

## Verdict
**Pick FastOCR if:**
- You want text or a searchable PDF from a file today, without installing an engine or language files.
- Your files are scanned PDFs, which Tesseract does not open as PDF input.
- The OCR has to be callable from Python or another service, and you would rather not operate the engine yourself.
- The pages are in several scripts, or mix them, and you do not want to name a language for each run.

**Pick another tool if:**
- You want free, open-source OCR you run on your own machine, with every setting in your hands.
- The documents must not leave your computer, and installing and updating the engine is acceptable.
- You want hOCR, TSV, ALTO or PAGE output, or your own tuned preprocessing in front of the engine.

## Why FastOCR
- **Photos and screenshots.** Every image upload gets raw text and a single-page searchable PDF, plus Word and Markdown.
- **Scanned PDFs.** Scanned PDF in, searchable PDF out; text copies in the right order, including right-to-left.
- **Languages.** 100+ languages, detected automatically, including mixed pages. Share of characters wrong on our evidence scans (lower is better): Arabic 2.6%, Urdu 9.1%, Bengali 7.4%, Tamil 2.2%, Chinese 1.0%.
- **For developers.** REST API, Python SDK, MCP server for AI agents, LangChain and LlamaIndex loaders.
- **Offline desktop apps.** Free offline Mac and Windows apps (public beta): searchable PDF, text, Word and Markdown, nothing leaves your computer.

## Is Tesseract OCR free?
Yes. Tesseract is open-source software under the [Apache License 2.0](https://github.com/tesseract-ocr/tesseract), so you can download it, run it on as many files as you like and build it into your own product without a licence fee. The software is free. Running it is not free of effort.

What "free" leaves for you to do:
- Install the engine, then a separate trained-data file for every language you need.
- Prepare images the way the engine expects, which the sections below cover.
- Handle PDFs yourself. The README says images are opened for input, not documents like PDF.
- Keep the installation current and repeat the setup on every machine that runs it.

None of this is a reason to avoid Tesseract. It is the reason many teams pick it: a free engine that runs on hardware they control. It is only a cost when the real goal is a finished text file and nobody wants to maintain an OCR pipeline.

## What you install, and the commands
The [documentation](https://tesseract-ocr.github.io/tessdoc/) says there are two parts to install: the engine itself and the traineddata for the languages. Most Linux distributions package both; other systems use an installer or a package manager. Once installed, the [command-line guide](https://tesseract-ocr.github.io/tessdoc/Command-Line-Usage.html) gives the basic form, an image name followed by an output base name. These three commands read a scan, write a searchable PDF from it, and read a page that mixes English and German:

```
tesseract scan.png out -l eng
tesseract scan.png out -l eng pdf
tesseract scan.png out -l eng+deu
```

The first writes out.txt. The second writes out.pdf, the page image with an invisible text layer. The third joins two language models with a plus sign. We ran all three on Tesseract 5.5.4 and each produced its file. Output formats beyond text and PDF include hOCR, TSV, ALTO and PAGE.

## Why Tesseract results vary from scan to scan
The project's [quality guide](https://tesseract-ocr.github.io/tessdoc/ImproveQuality.html) lists the preparation it expects when a result is poor: scale the image to at least 300 dpi, use dark text on a light background for the 4.x series, binarise, remove noise, and deskew. It also covers borders, transparency and the page segmentation mode. Each is a step you add before the engine runs.

This is why two people running the same engine can report very different accuracy. A clean 300 dpi scan of a printed page and a phone photo of a curled page are different inputs, and the engine only sees what you hand it. The command-line guide also shows setting the page segmentation mode, with --psm, for a two-column page and for a table of contents.

Handwriting is outside the design. The project FAQ says Tesseract is designed for printed text and will not work very well on handwriting.

## Languages: you choose, one file at a time
The README says Tesseract recognises more than 100 languages out of the box, and the [data files page](https://tesseract-ocr.github.io/tessdoc/Data-Files-in-different-versions.html) lists a file for each. You name the language with -l, and a plus sign combines several. Script models exist for some writing systems, so you can name a script instead of a language. For a batch where every page is in the same language this is simple. For mixed or unknown languages, you decide before the run.

FastOCR detects the language of each page itself, including a page that mixes scripts, so there is nothing to select. The trade-off is control: with Tesseract you pick the model and can train your own, and with FastOCR you cannot.

## PDFs and searchable output
Tesseract writes a searchable PDF from an image, as the second command above shows. Starting from a scanned PDF is a different job. Because the engine opens images, you first turn each PDF page into an image, run OCR on every one, and then merge the results into one file. Each step is a tool you choose and maintain.

On FastOCR the same job is one upload. Send a scanned PDF and the searchable PDF comes back, with right-to-left text copying in reading order. A [make a PDF searchable](https://fastocr.org/make-pdf-searchable) page walks through it, and every image upload also gets a one-page searchable PDF.

## Calling OCR from Python without running the engine
Python code that calls Tesseract usually shells out to the command or adds a wrapper package, and both rely on the engine and language files being installed wherever the code runs. The hosted route replaces that with an API key. FastOCR has a REST API and a Python SDK; this call returns a searchable PDF:

```
pip install fastocr-sdk

from fastocr_sdk import FastOCR

with FastOCR() as client:
    job = client.documents.process("scan.pdf")
    client.documents.download_searchable_pdf(job.id, "searchable.pdf")
    print(job.id, job.status, job.pages_billed)
```

Get a key and read the full flow in the [docs](https://fastocr.org/docs). Details of the API are on the [OCR API](https://fastocr.org/ocr-api) page. Files you send are uploaded to FastOCR, which is the main difference from a local engine.

## Compare two OCR options on your own pages
A short test on your documents tells you more than any published figure, including ours:
1. Pick ten pages that look like your real input, with at least one awkward scan.
2. Type or copy the correct text for a few of them. A proofread transcription is the reference.
3. Run each option on the same files, at the same resolution.
4. Score the share of characters that are wrong, missing or extra against the reference. Lower is better.
5. Treat gaps below about 3 points as a tie, because the reference text has its own errors.

Our own run of a local Tesseract against FastOCR is on [FastOCR vs Tesseract](https://fastocr.org/vs/tesseract). Tesseract got between 8.5% and 71.9% of characters wrong across 6 scans, one script each, with no preprocessing; lower is better. The spread is a reminder that script and scan quality decide the result.

## When a hosted OCR is the simpler choice
Use a hosted tool when:
- The goal is a finished text file, searchable PDF, Word or Markdown file, not an OCR pipeline.
- Your input is scanned PDFs, photos and screenshots in several languages.
- A script or an agent needs OCR through an API, and you would not like to deploy and patch an engine for it.
- You need results on a laptop or phone where installing language files is not practical.

Stay with Tesseract when the files cannot be uploaded, when you need its output formats, or when you want to tune every stage. The product decision, with a side-by-side table and the FastOCR option for people who searched for Tesseract online, is on [Tesseract OCR online: a free alternative](https://fastocr.org/vs/tesseract).

For a middle path, the free [Mac](https://fastocr.org/mac) and [Windows](https://fastocr.org/windows) apps work offline and keep files on your computer. They are for recognising text and exporting it, and they use the text recognition built into macOS and Windows, so the accuracy figures for the website do not apply to them. Both are unsigned public betas.

## When another tool is the better choice
- You want OCR as software you own: open source, scriptable and free to run on your hardware.
- The documents are private and recognition has to stay on a machine you control.
- You want to tune preprocessing, page segmentation or language models, or to train your own.
- You need hOCR, TSV, ALTO or PAGE output.

## FAQ
### Is Tesseract OCR free?

Yes. Tesseract is open-source software under the Apache License 2.0, so it has no licence fee at any volume. You still install the engine and language data yourself, prepare images, and maintain the setup, which is the real cost of running it.

### Can I use Tesseract OCR online?

Not from the Tesseract project, which describes a command-line program and a library with no built-in GUI. Websites that offer it are separate services. FastOCR is a browser tool that needs no install; the Tesseract online page explains the choice in full.

### Which open source OCR can I run locally?

Tesseract is the widely used open-source engine for running locally, and it recognises more than 100 languages. If you want a desktop tool instead, the free FastOCR Mac and Windows apps work offline in public beta, though they only recognise text and export it.

### Does Tesseract need coding?

Not strictly: you can run it from a terminal with a one-line command. But batches, PDFs and image preparation need a script, and calling it from an application means wrapping the command or a package. The hosted alternative is an upload or one API call.

### How accurate is Tesseract?

It depends on the scan and the script. In our test, an out-of-the-box local run got between 8.5% and 71.9% of characters wrong across six scans, one per script. Lower is better. Preparing images as its quality guide advises may improve those results.

### Does Tesseract make a searchable PDF?

Yes, from an image: add pdf to the command and it writes the page with an invisible text layer. A scanned PDF has to be split into page images first. FastOCR takes the scanned PDF as the upload and returns a searchable PDF.

### Is my file uploaded to FastOCR?

On the website and API, yes. FastOCR processes files in the cloud, so choose Tesseract or another local tool when a document must stay on your computer. The free Mac and Windows apps (public beta) work offline.

## Method
The Tesseract descriptions here are paraphrased from its README and documentation pages for installation, command-line usage, data files, image quality and the FAQ, which were read again on 4 November 2026. On 4 November 2026 we ran the three example commands with Tesseract 5.5.4 on a small test image. The accuracy range comes from our 31 October 2026 test of one public-domain scanned page per script, scored by the share of characters wrong against the Wikisource text (lower is better), with the matching language pack and no preprocessing. FastOCR's SDK snippet is the one in its docs.

## Change log
- 6 December 2025: First published.
- 1 May 2026: Edited.
- 4 November 2026: Rewritten as a hands-on guide to running Tesseract: cost, install commands, preparation, languages, PDFs and a Python option.

## Related comparisons
- [Tesseract OCR online: a free alternative](https://fastocr.org/vs/tesseract)
- [Tesseract vs Amazon Textract: OCR engines, workflows and outputs](https://fastocr.org/vs/tesseract-vs-amazon-textract)
- [Best Free OCR Software and Tools in 2026: 12 Compared, Tested on 6 Scripts](https://fastocr.org/blog/best-free-ocr-tools)
- [FastOCR OCR API](https://fastocr.org/ocr-api)
- [API docs](https://fastocr.org/docs)
- [Make a scanned PDF searchable](https://fastocr.org/make-pdf-searchable)
