Filery

PDF OCR Beta

Make a scanned PDF searchable by running OCR in the browser.

Worth knowing before you startOCR runs via Tesseract.js in your browser. Language data is approximately 4 MB per language and downloads once on first use, then stays cached. Expect roughly 1–3 pages per second depending on your hardware. Tesseract is excellent on clean, well-oriented printed text; it degrades on low-quality scans, skewed pages, complex multi-column layouts, and handwriting. The resulting text layer is for search and copy purposes — the visual appearance of the PDF is unchanged.
Choose PDF file or drop it anywhere on this page PDF Processed on your device — never uploaded

How to pdf ocr

  1. Open a scanned PDF. Language data downloads once on first use.
  2. Choose the document language — the right language model significantly affects accuracy.
  3. Run OCR and download a searchable PDF with a hidden text layer, or a plain text file.

About this tool

A scanned PDF is fundamentally an image — the scanner captured a photograph of each page and saved it as a PDF wrapper around those images. There is no text layer, so Ctrl+F finds nothing, copy-paste copies nothing, and screen readers find nothing. OCR is the process of reading the images and reconstructing the text.

Tesseract is the most widely used open-source OCR engine, and its WebAssembly port brings it into the browser without any server involvement. The accuracy is real for clean scans; the limitations are real too, particularly for handwriting and degraded documents. The output PDF carries an invisible text layer overlaid on the original scanned images, so the visual appearance is untouched while search and selection start working.

Questions

What does "searchable PDF" actually mean?
An invisible text layer is added on top of the scanned page images. Visually the document looks identical. But Ctrl+F now finds words, text selection works, and screen readers can read the content. The original scan quality is unchanged.
How accurate is Tesseract?
On a clean, well-lit, straight scan of a standard English printed document, word error rates are typically under 3%. On a photocopied document with some skew and low contrast, expect 5–15% errors. On handwriting it is unreliable — character recognition trained on printed text does not generalise well to script. For anything where accuracy is critical, review the output.
Why is it slow?
OCR is computationally intensive even when it looks simple. Each page is rendered to a bitmap, pre-processed, segmented into text regions, and each region is decoded character by character. On a modern laptop, 1–3 pages per second is genuinely typical. The language model data also has to load into memory on first use.
Does the document get uploaded for OCR?
No. Tesseract.js is a full port of Tesseract to WebAssembly and runs entirely inside your browser. The pages are rendered locally by PDF.js and processed by Tesseract.js locally. Nothing is sent anywhere.