Text Recognition (OCR)

Add PDF or image files — or drag them here
PDF JPG PNG WEBP

About this OCR tool

Optical character recognition reads text out of pictures of text. A scanned contract, a photographed receipt, a screenshot of an error message — all of them look like documents but contain no text a computer can select, search or copy. OCR examines the shapes of the letters and reconstructs the characters.

This tool runs Tesseract, the long-established open-source OCR engine, compiled to WebAssembly so it executes inside your browser rather than on a server. PDF pages are rendered at twice their native size before recognition, because resolution is the single biggest factor in accuracy. The result is a plain text file, with pages separated by a marker so you can tell where each one begins.

Recognition happens on your own machine. This is unusual for OCR — most services require an upload — and it means payslips, medical letters and identity documents can be read without being transmitted.

How to extract text with OCR

  1. Add a PDF or images. Scans, photographs and screenshots all work. JPG, PNG, WebP and HEIC are accepted alongside PDF.
  2. Choose the language. The automatic setting uses your page language plus English, which handles mixed documents well. Force English if the document is purely English.
  3. Start recognition. The language model downloads on first use and is cached afterwards. Recognition takes a few seconds per page and shows a running counter.
  4. Download the text. The result is a UTF-8 .txt file with pages divided by numbered separators.

What determines accuracy

FactorEffect on results
Source resolutionThe dominant factor. A 300 DPI scan reads reliably; a 100 DPI one guesses.
StraightnessSkew of more than a couple of degrees costs accuracy quickly.
ContrastBlack on white is ideal. Faint photocopies and coloured backgrounds hurt.
TypefaceOrdinary serif and sans text is reliable. Handwriting is not supported.
LayoutSingle-column flows cleanly. Multi-column layouts and tables lose their structure.

Languages

Automatic mode pairs the language of the page you are on with English, so a Korean document is recognised as Korean plus English, a Japanese one as Japanese plus English, and so on. That combination handles the common real-world case of a document in one language containing English product names, addresses or technical terms.

Each language model is a separate download of several megabytes, fetched the first time you use it and cached by the browser afterwards. The first run on a new language therefore takes noticeably longer than the second.

Frequently asked questions

Is the OCR done on a server?

No, and that is the point. Tesseract is compiled to WebAssembly and runs inside your browser tab. Your scans are never uploaded, which makes it safe for documents you would not want to hand to an online service.

How accurate is it?

On a clean, straight 300 DPI scan of ordinary printed text, accuracy is high — typically well above 95 percent. Faint photocopies, skewed pages, low-resolution photos and unusual typefaces all reduce it noticeably.

Can it read handwriting?

No. Tesseract is trained on printed type. Handwritten notes, signatures and cursive annotations are not recognised.

What format is the output?

A UTF-8 plain text file. Pages are separated by a numbered marker so you can see where each one starts. Layout, columns, tables and images are not preserved.

Why is the first run so slow?

The language model has to be downloaded, which is several megabytes. It is cached afterwards, so subsequent documents in the same language start immediately.

Does it make a searchable PDF?

No. The output is a separate text file rather than a text layer added back into the PDF. Use it for searching, quoting or feeding into another system.

Related tools