Scans you can search
A PDF made by a scanner or a phone scanning app is just pictures of pages: you can't search it, select a sentence or copy a number. This tool reads each page with OCR and adds the recognised words as an invisible layer exactly over the printed ones. The pages look identical, but now Ctrl+F finds words, you can select and copy text, and search tools can index the file.
- Language: pick the document's language so accents and special letters are read correctly.
- Pages: leave empty for the whole document, or list pages such as
1-3.
Pages that already contain text are left untouched, so a mixed document is handled correctly. The original images are not re-compressed: quality and look don't change, and the file grows only by the text.
Why on-device matters here
Scanned PDFs are often contracts, IDs, medical or tax papers. Here they are read by your own browser with the open-source Tesseract engine and never uploaded.
How this works
In a Web Worker, each page without text is drawn at 300 dpi by PDF.js and read by Tesseract, which returns every word with its position. The words are then written into the original PDF with pdf-lib as fully transparent text, sized and placed to cover the printed words, so selecting text highlights the right places. The page content itself is not modified.
Frequently asked
Will my PDF look different?
No. The text layer is invisible; the scanned images are not changed or re-compressed.
How long does it take?
A few seconds per page on a laptop, longer on phones. The progress bar shows how far along it is.
Is my document uploaded?
No. Pages are read by your browser on this device.
Can it read handwriting?
Not reliably. OCR is made for printed text.
Sources
- tesseract.js — the Tesseract OCR engine compiled to WebAssembly
- PDF.js — Mozilla’s PDF renderer for the web
- @cantoo/pdf-lib — create and modify PDF documents in any JavaScript environment
- Wikipedia — Optical character recognition
Reviewed Oct 19, 2026 · test vectors fixtures/tools/pdf/ocr-pdf/