PDF Tools

OCR PDF (Make a Scan Searchable)

Recognition runs inside this browser tab: the page picture is kept exactly as it was and an invisible text layer is added behind it, so the document can be searched and copied.

Free · No sign-up · Files stay on your device

By Aditya Kr Sharma

  • Free
  • Instant
  • No sign-up

OCR PDF

Or import from
Supports: PDFJPGJPEGPNG
+1 more WEBP
Language

Files are not uploaded - everything happens in your browser.

How to use the OCR PDF tool

  1. Choose a scanned PDF, or photos of pages.
  2. Pick the language: English, Marathi, or both.
  3. Check the download size shown, then press Read.
  4. Wait while each page is recognised - this is the slow part.
  5. Download the searchable PDF and the text file.

What you get

Two files. The first is a searchable PDF: the page picture exactly as it was, with the recognised words placed invisibly behind it in the right positions. It looks identical to your scan, and search, copy and screen readers all work on it.

The second is a plain text file of everything that was read, which is what you want when the point is to get the words out rather than to keep the document.

The original picture is never replaced or re-drawn. If recognition misreads a word, the page still shows what the scan always showed - the mistake is only in the hidden layer, where it affects search but never appearance.

English and Marathi, and nothing else

Those are the two language files the site ships. Each language needs its own trained data file of several megabytes, and shipping a dozen of them would make the site heavier for everyone to serve a few people.

You can select both at once, which is useful for a document that mixes English and Marathi - an official form, a notice, a letter with an English header. Recognition is slower with two languages loaded, because both models are consulted.

If your document is in another language, this tool will produce poor results rather than no results, which is worse. It will read Latin letters in a European language reasonably well with English selected, because the alphabet is shared, but accented characters will be hit and miss.

The download, and why it is large

Recognition normally happens on a server. Here it happens in your browser, which means the recognition engine itself has to come to you: a WebAssembly build of Tesseract, plus the trained data for each language you choose. Together that is about 12 MB for English and Marathi.

The page shows that figure before anything is fetched, and nothing downloads until you press the button. On a metered mobile connection that matters, and we would rather you decided than discover it afterwards.

Your browser caches the files, so the second document you process starts immediately. Nothing is stored by us, and nothing about your document is included - the download is the same engine everyone gets.

How accurate to expect

On a clean, straight scan of printed text at 300 dpi, accuracy is high - typically well above 95 per cent of characters, which reads as "essentially correct with the occasional odd word". The tool reports the engine's own confidence figure so you have some idea before you check.

Accuracy falls with faint printing, photocopies of photocopies, coloured or patterned backgrounds, stamps and signatures across text, skewed pages, shadows from a phone camera, tiny print, and unusual fonts. Handwriting is not recognised at all by this engine; do not expect it to read handwritten notes.

Two things help more than anything else: scan or photograph at 300 dpi rather than 150, and get the page square and evenly lit. A straight, well-lit page at 300 dpi will beat a crooked one at 600 every time.

Speed, and phones

Recognition is genuinely heavy work. Expect a few seconds per page on a laptop and considerably longer on a phone - sometimes fifteen or twenty seconds for a dense page. A thirty-page document on a phone is a cup of tea, not a moment.

Pages are processed strictly one at a time, and the page picture is released before the next one starts. That is slower than doing several at once and it is what keeps a 2 GB Android phone from running out of memory halfway through.

For long documents, use Extract Pages from PDF first and recognise only the pages you need. It is usually far quicker than waiting for a whole report.

Nothing is uploaded, and nothing is cached

Files are not uploaded - everything happens in your browser. The documents people OCR are scanned contracts, land records, certificates, medical reports and old family paperwork. None of it is transmitted.

The engine is also configured not to store recognition data on your device between runs, so the only things cached are the engine and the language files themselves.

Once you have a searchable PDF, the other tools follow on naturally: PDF to Excel can read a table out of it, PDF to Word can give you editable text, and Compare Two PDFs can be used on it.

Getting the best out of it

Scan at 300 dpi. This is the single most effective thing you can do. Recognition works on the shapes of letters, and at 150 dpi small print simply does not have enough pixels for the engine to tell an e from a c. Above 400 dpi there is little further gain and the pages take longer.

Keep the page straight and flat. A few degrees of rotation costs noticeable accuracy, because the engine looks for lines of text along the horizontal. If you are photographing a page, put it on a flat surface, hold the camera parallel to it and avoid casting a shadow across the middle.

Prefer greyscale to colour for printed text, and avoid heavy compression. A photograph saved at low JPEG quality has soft, speckled letter edges, and those speckles are what the engine mistakes for other characters. If you are scanning specifically in order to OCR, scan once, properly, rather than twice badly. And if a page comes back badly recognised, look at the page itself before blaming the engine: nine times out of ten the scan is crooked, dark or half a page wide.

Frequently asked questions

How do I make a scanned PDF searchable?

Choose the file here, pick the language, and press Read. You get back the same pages with an invisible text layer, so search and copy work.

Which languages are supported?

English and Marathi. Those are the two trained language files the site ships, and you can use both at once.

Why is there a 12 MB download?

Because the whole recognition engine runs in your browser rather than on a server. It is fetched once, only when you ask for it, and cached afterwards.

How accurate is it?

High on clean printed text at 300 dpi; lower on faint, skewed or poorly lit pages. Handwriting is not recognised. The page shows the engine's confidence.

Can I OCR photos instead of a PDF?

Yes. Choose JPG, PNG or WebP files and they are handled the same way.

Why is it slow on my phone?

Recognition is heavy, and pages are deliberately processed one at a time so the browser does not run out of memory. A laptop is several times faster.

Does the page still look the same afterwards?

Yes. The picture is untouched; the recognised text is placed invisibly behind it.

Is my document uploaded?

No. Both the document and the recognition stay in your browser.

More in PDF Tools All tools