Make a scanned PDF searchable with an invisible text layer.
Runs in your browser. Nothing is uploaded — your input is processed on this device and discarded when you close the tab.
Your file
Drop a scanned or image-only PDF here or click to browse. One file at a time, up to 50 MB. Everything is processed on this device only — no file is uploaded. The OCR engine (about 6 MB) downloads once, onto this device, when the page loads.
Each page is rendered as a picture at this resolution and read by the OCR engine. Higher DPI reads small or faint type more reliably and takes longer per page.
Pages with real text are detected before OCR starts and reported in the status line. Untick to re-recognise every page anyway.
OCR PDF turns a scanned or image-only PDF into a searchable one. Scanned pages are pictures: you can read them, but you cannot search them, select their text, or copy a paragraph out. This tool renders each page, reads the words with optical character recognition (OCR), and builds a new PDF where every page carries an invisible text layer aligned with the printed words — so search, find and copy work, while the page looks exactly as it did before.
Everything happens in your browser. Your document is never uploaded: the pages are rendered and recognised on your device, and the result is handed straight back as a download. Because the OCR engine is sizeable, it is loaded only on this tool's page — the limitations section below states its exact weight rather than hiding it.
How to use OCR PDF
Add your scanned PDF. Drop the file onto the dropzone or click to browse. One file at a time, up to 50 MB. A password-protected file cannot be processed here — unlock it first, then add the unlocked copy.
Let the tool check for existing text. Before recognising anything, the tool reads every page's text layer. Pages that already contain real, extractable text are reported in the status line as already searchable.
Decide what happens to searchable pages. Leave “Skip pages that already contain searchable text” ticked (the default) and those pages are copied into the output exactly as they are — their original text stays crisp and untouched. Untick it only if a page's existing text layer is wrong and you want it re-recognised from the picture.
Choose the recognition quality. 300 DPI is the default and the safer choice for small print, faint type and dense pages. 200 DPI is faster and is fine for clean, large print. Each page is rendered as a picture at this resolution and handed to the OCR engine.
Run the OCR. Click Make searchable PDF. The first run on this page also loads the OCR engine and English language data onto your device. Progress is reported page by page in the status line; a long document on a slow device takes a while, and that is normal.
Download and test the result. The searchable copy downloads with “-searchable” added to its name; your original is never changed. Open the copy, press Ctrl+F (or Cmd+F), and search for a word you can see on a page — it should be found, and the text should select and copy.
Features
Makes scanned and image-only PDFs searchable, selectable and copyable by adding an invisible, position-accurate text layer over each page image.
Pages that already contain searchable text are detected and reported before OCR starts, and are copied unchanged by default, so good text is never replaced by recognised text.
Two render resolutions — 200 DPI for speed on clean print, 300 DPI for small or faint type.
Recognition runs on the open-source Tesseract engine (English), entirely on your device; the assembled PDF is built locally as well.
The invisible layer is genuinely invisible: in this tool's own verification, rendering a page with the text layer and the same page without it produced pixel-identical images, while a text extractor read every placed word.
The status line reports how many pages were recognised, how many were already searchable, and how many recognised words were placed.
Worked example
The placement arithmetic is small enough to check by hand. A page image is 800 × 400 pixels, shown on a 400 × 200 point page, so the scale is 2 pixels per point. Tesseract reports the word MARKER-1 in a box from (20, 20) to (220, 60) pixels, with its baseline at pixel row 58. Tesseract measures from the top-left; PDF measures from the bottom-left, and text is drawn from its baseline. The placement is therefore x = 20 ÷ 2 = 10 points, y = (400 − 58) ÷ 2 = 171 points, at a size of (60 − 20) ÷ 2 = 20 points — and an extractor reading the finished page finds MARKER-1 exactly there, invisible on screen.
The same pipeline was run end to end on a one-page test document (595 × 842 points) whose page says “MARKER-1”, “Page 1 of 1” and “The quick brown fox jumps over the lazy dog.” Rendered at 300 DPI the page image is 2,480 × 3,509 pixels, and the recognition returned the text exactly: all three lines, every word correct, in reading order. Those recognised words were then placed into the output PDF, and extracting the output's text returned the same words in the same order.
Common errors and limitations
The OCR engine is a real download: 6.05 MB. The Tesseract engine, its worker, the WASM core and the English language data total 6.05 MB. They load only on this tool's page and are cached by your browser afterwards, but on a slow connection the first run will take a moment to start. No other tool in this suite carries this cost.
English only. The bundled language data is English. Other languages, and handwriting in any language, are not recognised by this tool.
Recognition quality is bounded by the scan. Skewed, blurred, low-contrast or very small type will be misread in places — OCR produces an approximation, not a transcript. Check important documents against the page image; the image is always preserved underneath the text layer, so nothing is lost when a word is wrong.
OCR'd pages become page images. A recognised page is stored as a picture with a text layer, so its file size reflects the render DPI and it no longer contains the original page objects. Pages copied as already-searchable keep their original form.
Layout is approximated by words. The text layer follows word positions, which is what search and selection need; it is not a reconstruction of the document's structure — tables, columns and reading order across complex layouts may extract imperfectly.
One file at a time, up to 50 MB, and long documents take time. Every page is rendered and recognised one by one on your device; a several-hundred-page scan is a long job. Password-protected files must be unlocked first.
Expecting perfect text from a poor scan. If the page is hard for a person to read, it is hard for the engine too. Fix: re-scan at 300 DPI or better, flat and straight, and choose the 300 DPI setting here.
Searching the original instead of the copy. The original file is never modified, so it stays unsearchable forever. Fix: use the downloaded file with “-searchable” in its name, and test it with Ctrl+F.
Re-OCR-ing pages that were already fine. Unticking the skip option replaces crisp born-digital text with recognised text, which can only be worse. Fix: leave the skip option on unless a page's existing text layer is demonstrably wrong.
Assuming the text layer edits the visible page. It does not — nothing visible is added, moved or “corrected”. Fix: if you need the words themselves changed, edit the document in an editor after OCR; this tool's job is searchability, not editing.
Remove password protection from a PDF you own — enter a password that opens it, get a clean unprotected copy.
Image, PDF and Documents
Prefer everything on one page? The original PDF Toolkit merges, splits and rearranges with one shared file list. The full suite is indexed on the PDF Tools hub.