Make a scanned PDF searchable

Read the words in a scanned PDF (English or Spanish) and add an invisible text layer, so you can search, select and copy, while the page looks the same.

Tool · runs in this tab · free
Drop a PDF anywhere on this page

Or choose one. It is read in this tab, processed in a Web Worker, and never uploaded.

Read in this tab. Never uploaded.

How this runs

Nothing loads until you add a file. Then the engine starts in a Web Worker in this tab.

This jobwaiting
Requests since your file0
Other origins contacted0
Enginetesseract.js (WASM) + pdf-lib, workers
Reported by this page. Check it yourself: switch off your network and run the tool again.

How OCR runs in your browser

Each page is rendered at 300 dpi and read by Tesseract (tesseract.js, Apache-2.0), compiled to WebAssembly and served from this site. The language data, 8–10 MB per language, is downloaded from our own server the first time you run OCR, then kept for offline use.

Recognised words are written as invisible text exactly over the words in the image. The image itself is not changed, so the page looks identical; only search and selection change.

We do not publish an accuracy number: accuracy depends heavily on the scan, and we have not measured it on a corpus yet. Check important numbers by eye.

Steps

  1. Add the scanned PDF.
  2. Choose English, Spanish or both.
  3. Run OCR; each page shows its progress.
  4. Download the searchable PDF, or copy the text.

Limits, stated plainly

  • English and Spanish only for now.
  • Handwriting is not reliably recognised.
  • Pages that already have text are skipped unless you choose otherwise.

Engine: tesseract.js (WebAssembly) in its own worker; pdf.js rendering; pdf-lib in a Web Worker. Your file is not uploaded; check it yourself.