OCR PDF
Beta
Recognize text in scanned PDFs so you can search and copy. Runs on-device where possible.
or drop PDF here
Processed securely on our server, then auto-deleted within the hour.
Working…
Processing your file…
Your file is ready.
Make a scanned PDF searchable and selectable without turning it into a pile of images or a raw text dump. OCR PDF renders each page, reads the characters with on-device optical recognition, then writes those characters back onto the original page as an invisible text layer. The page keeps its exact appearance, but Ctrl+F, selecting and copying now work — which is the whole point. This is the tool for a scan or a photographed document where clicking the text does nothing. The first run downloads the recognition engine, so it takes a moment, and a long document takes a while because every page is read separately. Nothing is uploaded.
How to use OCR PDF
- Click "Select PDF file" and choose the scanned PDF. A file whose text you can already select does not need this — use PDF to Text for that, which is instant.
- Click "Make Searchable". The first run loads the recognition engine, then each page is rendered and read in turn.
- If you also want the plain text, tick "Also save the recognized text as .txt" before you start, and you get two files back.
- Download the "-searchable.pdf" file and try selecting a sentence in it to confirm the layer landed where you expect.
Who it is for
OCR PDF is for a scan you can see but cannot search: a photocopied contract, a photographed page, a book chapter captured on a phone, a fax, an archive of old paperwork. It is the difference between a document you can Ctrl+F and one you have to read again from the top, and it is the first step before any other tool can work on the text in a scan.
How it works
- Each page is rendered at twice its natural size, which is the accuracy-versus-memory point where small print is still readable by the engine.
- The recognition results are placed back onto the original page as an invisible text layer, one run per line so a copied sentence comes back with its spaces intact.
- The page is edited in place rather than rebuilt from the rendered image, which avoids re-compressing every page and making the file bigger and blurrier.
What it cannot do
- The first run downloads the recognition engine, so it is slow once and quicker after.
- Recognition reads shapes, not meaning: handwriting, decorative type and faint scans produce errors, and proper nouns and numbers are the usual casualties.
- The output keeps the original page image, so the file is not smaller — it gains a text layer.
- The engine is loaded for English; other Latin-script languages often work reasonably, other scripts generally do not.
Frequently asked questions
Is my scan uploaded to a server?
No — recognition runs in your browser tab, so the document never leaves your device. That is unusual for OCR: most services that read text from a scan upload the file to a server. Here the engine itself is downloaded once and then works locally, which is why the first run is slower than the ones after it.
Does OCR change how the page looks?
Not at all. The page image is left exactly as it was and the recognised characters are added in text rendering mode 3 — invisible, occupying no ink. That is deliberate: rebuilding the page from rendered images would re-compress every page, making the file bigger and blurrier for no gain.
Why is the text it recognises sometimes wrong?
Because recognition reads shapes, not meaning. Clean printed pages at a good resolution are usually reliable; handwriting, decorative typefaces, faint scans, skew and photographed pages with shadow all reduce accuracy. Proper nouns, product codes and decimal numbers are the usual casualties, so check anything you will rely on. Handwriting in particular is a losing battle — the engine is trained on printed type.
The tool says no readable text was found — why?
The pages probably contain no recognisable characters at all: a photograph of something other than text, an almost blank scan, or a page rendered too small to read. Recognition needs visible, reasonably sharp print. Nothing is returned in that case rather than a file with a useless empty layer.
Does the recognised text line up with the words on the page?
Closely, and each line is placed as a single text run with its own spacing so a copied sentence comes back intact rather than as loose words. On a page with complex columns the selection order may not match the reading order, because recognition works from where ink sits on the page rather than from the meaning of the layout.