Skip to content
WorldofPDFs

Make a scanned PDF searchable with OCR

A scanned PDF is a stack of photographs — you can see the words but nothing can read them, so search finds nothing and copy-and-paste returns nothing. This adds a text layer: the recognised words sit invisibly on top of the scan, so the page looks exactly as it did and is now searchable, selectable and readable by a screen reader. Recognition runs in your browser, and the scan is never uploaded.

OCR — Searchable PDF

Tesseract via WebAssembly · invisible text layer

Ready

Loading tool…

How to OCR — Searchable PDF

  1. Add your scanned PDF. Drop the file in. The tool checks each page and tells you how many have no text layer — those are the scans it will read.
  2. Pick a quality level. 300 DPI suits ordinary print. Raise it for small type, lower it if you would rather have the result sooner.
  3. Make it searchable. Each page is rendered and recognised in turn. The first run downloads the recognition model once, about 6MB, and caches it.
  4. Download. You get the original document back with an invisible text layer added. Try selecting a line — the words are now there.

What actually gets added to your file

The scan is not modified, re-encoded or rebuilt. Each page keeps its own content exactly as it was and gains a second content stream holding the recognised words, drawn in what the PDF specification calls text rendering mode 3 — neither filled nor stroked. The glyphs are genuinely present for search, selection and assistive technology, and genuinely invisible on screen.

That is why the output looks pixel-identical to what you put in, and why bookmarks, annotations and form fields survive. A tool that rebuilds pages from images to add text would lose all of that and re-compress your scan on the way through.

Each word is also horizontally scaled to match the width of the ink underneath it, so when you drag to select a line the highlight lands on the words rather than drifting away from them.

Pages that already have text are left alone

Running recognition over a page that already carries a text layer leaves two copies of every word in the file. Copy a paragraph out and you get it twice. Search matches it twice. It is a common and quietly annoying failure of batch OCR.

So pages are checked first, and any that already have extractable text are skipped by default. The result tells you how many were skipped rather than silently doing nothing, and you can turn the behaviour off for the rare case where an existing text layer is wrong and you want it re-read.

Getting a good result

Almost all of the accuracy is decided before recognition starts, by the quality of the scan rather than by the settings here.

  • 300 DPI is the practical floor for ordinary print. Below roughly 200 the glyph shapes stop being distinguishable and accuracy falls away quickly.
  • Straight pages beat clever software. A page scanned at an angle costs more accuracy than any setting recovers.
  • Even lighting matters more than resolution. A shadow across the page — usually your own head, if you photographed it — makes the contrast adjustment overcorrect everywhere else.
  • Greyscale is fine, and often better than colour for plain printed text.
  • Handwriting will not work. Recognising handwriting is a different problem from recognising print, and this engine is trained on print.

What it will get wrong

Worth knowing the failure modes, because they are predictable rather than random. Recognition leans on a language model to resolve ambiguous shapes, which is why ordinary prose comes out far more accurate than isolated strings.

Serial numbers, licence keys and account numbers lose that help entirely, so the confusable pairs stay confused: 0 and O, 1 and l, 5 and S, 8 and B. Tables are recognised character by character perfectly well and then lose which cell each value belonged to. And a page at 98% character accuracy still holds roughly one error every two lines.

Proofread anything that matters. OCR makes a document searchable; it does not make it verified.

Why this runs in your browser

Scanned documents are disproportionately the sensitive ones — contracts, medical letters, bank statements, identity documents. They are exactly the files people are least comfortable uploading to a stranger's server, and exactly the files most OCR services require you to upload.

Here the recognition engine is WebAssembly running in a worker in this tab, and the language model is served from this site rather than a content delivery network. Nothing about the document, or the fact that you ran OCR on it, reaches anyone. Once the model is cached the tool keeps working with the network switched off, which is a simple way to confirm the claim for yourself.

English only, and why that is stated rather than fudged

The recognition engine supports over a hundred languages, but the text layer written into the PDF uses a standard font whose encoding covers Latin scripts. Producing a correct layer for Greek, Cyrillic, Arabic or CJK means embedding a Unicode font into every file the tool outputs, which would add megabytes to each one.

Rather than offer languages that would produce a subtly corrupted text layer, the tool does English and says so. That is a real limitation and it is better read here than discovered in the output.

Frequently asked questions

What does OCR do to a PDF?

It reads the words in the page images and adds them as an invisible text layer on top. The page looks identical afterwards, but the document becomes searchable and selectable, and a screen reader can read it.

Does OCR change how my scan looks?

No. The original page content is untouched — the recognised text is added as a separate layer drawn in an invisible rendering mode. Nothing is re-compressed or rebuilt, so the scan stays pixel-identical.

How do I know if my PDF needs OCR?

Try to select a line of text. If it highlights, the file already has a text layer and OCR would add nothing. If your cursor draws a box over an image instead, it is a scan. This tool checks for you and reports how many pages have no text.

Is my scanned document uploaded anywhere?

No. The recognition engine is WebAssembly running in this browser, and the language model is served from this site rather than a third party. Once it is cached, the tool works with the network switched off — which is the easiest way to verify it.

How accurate is it?

On a clean 300 DPI scan of ordinary printed text, well above 99% of characters. Accuracy drops with low resolution, skew, poor lighting, unusual fonts, and on strings with no linguistic context such as serial numbers, where 0/O and 1/l stay confusable.

Why is it slow?

Recognition is genuinely expensive, and it runs on your device rather than a server farm. Expect a few seconds per page, more at higher resolution. The first run also downloads the model once, about 6MB, and caches it for later documents.

Can it read handwriting?

No. Handwriting recognition is a separate problem from printed-text recognition, and this engine is trained overwhelmingly on print. Results on handwriting are poor enough not to be worth offering.

What languages are supported?

English. The engine reads far more, but the text layer written into the PDF uses a standard font covering Latin scripts — other writing systems would need a Unicode font embedded in every output file. That trade-off is stated rather than shipped broken.

Related tools

Related reading

Longer guides covering the part this tool does not.

Turning a PDF into a web page without getting a screenshotTwo very different files both get called "PDF to HTML", and only one of them is a web page in any useful sense.Getting a table out of a PDF and into Excel intactThe table you can see on the page is not in the file, which explains nearly every way the conversion goes wrong.Reading a PDF in dark mode: change the viewer or change the fileOne approach changes how the page is drawn on your screen; the other rewrites the page itself, and the difference shows up the moment you print or send it.Why text copied from a PDF comes out garbledThe page looks perfect and the paste is nonsense, because what you see and what the file knows about its own text are two different things.How to tell whether a PDF is searchable or just a scanned imageA searchable PDF and a scanned one can look identical on screen, and the difference only shows up when you try to find, copy or upload the text.Does this PDF tool upload my file? How to check for yourselfEvery PDF site says your files are safe. Your browser's developer tools will show you, in about two minutes, whether the file ever left your machine.Vector and raster content in a PDF, explainedThe same format can hold drawing instructions or photographs of pages. Which one you have decides how the file zooms, searches, prints and compresses.Why convert a PDF to Markdown before giving it to an AI model?A language model reads structure as well as words. Raw text copied out of a PDF throws the structure away; Markdown keeps it in a form the model already understands.What is a PDF, really?Everyone uses the format. Almost nobody is told what it actually stores — which is why so much PDF software behaves in ways that seem arbitrary.What is OCR, and when do you actually need it?Optical character recognition is the difference between a document you can search and a photograph of one. Here's how it works and where it goes wrong.How to scan a document with your phoneThere is a real scanner hidden in apps you already have — and a few small habits that decide whether the result looks scanned or photographed.What is PDF/A, and when do you need it?Courts, universities and government archives ask for it by name. It is the same format with the unreliable parts removed.What is a tagged PDF, and why accessibility needs oneA PDF stores characters at coordinates. Tagging is the layer that tells software what those characters mean.What is a PDF reader — and do you need anything more?Most people install software to do a job their browser already does. Here's where the actual boundaries fall.How to make a PDF smaller — and keep it readableThere are two ways to shrink a PDF and only one of them keeps your text. Knowing which a tool is doing is most of the skill.