Make a scanned PDF searchable

A scan is a photograph of text: you cannot search it, select it or copy from it. OCR reads the words and puts them back into the file. This runs on your device — the document is not uploaded, which for OCR is unusual.

🔒 Your file never leaves this device

Why this one is different

Every other tool on this site is in your browser because it can be. OCR is in your browser because it should be, and almost never is.

Recognition is expensive, so the usual arrangement is that you upload the document, a server reads it, and you download the result — which means the scan sat on somebody else’s disk for a while. The documents people run OCR on are exactly the ones that argument matters for: contracts, medical letters, bank statements, passports, deeds. The engine here is about 9 MB, which arrives once and then reads your pages locally.

Your pages are not rasterised

This is worth understanding, because it is the part most OCR tools get wrong. A common implementation renders every page to an image, lays invisible text over it, and returns that. The result is searchable but flattened: any genuine text, vector drawing or crisp line art in the original has been turned into pixels.

Here the original pages are kept byte-for-byte and only the text layer is added. A file that was part scan and part real text keeps the real text exactly as it was.

Check the output. OCR errors are rarely obvious — a misread digit looks like a digit. Search the result for a few figures and names you know before relying on it, particularly on anything financial or legal.

What makes recognition better or worse

ConditionEffect
Flatbed scan, 300 DPI, printed textBest case — usually near-perfect
Phone photo, flat and evenly litGood
Photo at an angle, or with a shadow across itNoticeably worse; straighten and re-take if you can
Very low resolution, or heavy JPEG artefactsPoor — there is no detail left to read
HandwritingNot supported
Do OCR before compressing, not after. Compressing to a small target rasterises and softens the page, which is exactly the detail recognition needs. Read the text first, then compress to an exact size — the text layer survives compression because it is text, not pixels.

Common questions

Is my document really not uploaded?

Really. The recognition engine is Tesseract compiled to WebAssembly and it runs inside this page, the same way the compressor does. You can watch it: open your browser’s network tab, and after the engine itself downloads you will see no further requests while it reads your pages.

Why is it a 9 MB download?

That is the recognition engine and the English language model. Doing OCR without a server means the engine has to come to you. It is fetched the first time you open this page, cached afterwards, and no other page on this site loads it.

Does it change how my document looks?

No, and that is deliberate. Most OCR services hand back your pages as flat images with text hidden behind them, which discards any real text or vector graphics the file still had. Here your pages are left exactly as they are and an invisible text layer is added on top.

How accurate is it?

On a clean 300 DPI scan of printed text, very good. On a phone photo taken at an angle in poor light, noticeably worse. It does not read handwriting. Always check figures, names and anything you are relying on — OCR misreads are usually plausible rather than obvious.

How long does it take?

Roughly a second or two per page on a laptop, several on a phone. It is real work on your own processor rather than a queue on somebody’s server, so a long document takes a while and the page will tell you which page it is on.

Can I just get the text?

Yes. Alongside the searchable PDF there is a plain-text download of everything it read, which is often what you actually wanted.

Which languages?

English at the moment. Each additional language is another model to host, so they will be added based on what people ask for rather than all at once.

Other tools

Compress a scanWhere the biggest size savings are, once the text is readable. Crop PDFTrim the scanner border before reading the text. Compress to an exact sizeThe last step, when a form names a KB limit.