Skip to content

OCR PDF

Turn scanned pages into text you can search, select and copy.

or drop files anywhere on this page

Your files stay in this browser. Nothing is uploaded.

Language files are downloaded once (a few megabytes at most per language) and cached by your browser.

About OCR

OCR PDF reads the text inside a scan or a photographed page and lays it back on top, invisibly, so you can search, select and copy words that used to be locked inside a picture. The recognition runs in your browser tab, and your PDF is never sent to a server.

Reach for it when a PDF came from a scanner, a phone camera or an old fax and none of its text responds to a click. It recognizes what a page actually contains; it does not straighten, sharpen or otherwise repair a poor scan first.

How it works

  1. Add a PDF: a scan, a photo of a document saved as a PDF, or any file whose text is not yet selectable. OCR takes one file at a time.
  2. Choose whether to recognize every page (Recognize text on all pages) or just one (Quick single page mode). For a single page, enter the Page number and check the small preview.
  3. Pick the Language the document is written in. English is the default.
  4. Choose PDF (searchable), Text, or both as the Output. PDF (searchable) is ticked by default, and at least one output must stay ticked.
  5. Click Recognize text. The status line starts with "Loading language data", which is the download the first time you use a language, then counts through the pages. Download the result when it is ready.

What is downloaded, and when

OCR downloads a language file before it can work, which most tools here do not. The recognition engine, a WebAssembly build of Tesseract, is served from this site like the rest of the page, and so are the seven most-used languages: English, French, German, Spanish, Italian, Portuguese and Dutch. Run one of those and nothing leaves this domain. Any other language is fetched once from jsDelivr, a public code delivery network, and kept for later runs. Each file is a few megabytes.

Nothing else leaves for a third party. The font the hidden text is written in is served from this site and fetched only when a word needs it, so the language file is the one outside request OCR makes. It does not carry your PDF, since pages are drawn and recognized inside the tab.

What you get back

PDF (searchable) is your original file with the recognized words added as invisible text, placed word by word over the printed words beneath. The page image is not replaced, sharpened or re-compressed, so the page looks the same, and the file keeps its name. Text is a plain .txt file named after the PDF, with a form-feed character between pages. Tick both and the two files arrive as a ZIP.

Say a 12-page scanned lease called lease.pdf, in English. Leave the mode on Recognize text on all pages, tick Text next to PDF (searchable), and click Recognize text. The ZIP holds lease.pdf, now searchable, and lease.txt. In Quick single page mode only the chosen page is recognized: the PDF still holds every page, but only that one gains hidden text.

Each page is drawn at 200 dpi for recognition, whatever resolution the scan was saved at, so very small print on a low-resolution scan may not come through. OCR PDF does not check whether a page already has selectable text. Run it on one that does and it adds a second, invisible copy of the words.

Limits and what tends to go wrong

The tool sets no page limit or file size limit of its own. Pages are recognized one after another, so the time grows with the page count, and Cancel stops a run partway.

  • Languages: the menu lists 82, English first and then A to Z from Afrikaans to Yiddish, and one run uses one language. Every one of them has a data file to download.
  • Scripts in the searchable layer: Western European, Central European and Turkish letters such as ł, č, ő and ş, along with Greek and the Cyrillic of Russian, Ukrainian, Bulgarian and Serbian, are written into the hidden text as themselves, so those words are searchable in the finished PDF. Chinese, Japanese, Korean, Arabic, Hebrew, Thai and Vietnamese are written into the layer too, from a font this site serves only when the scan needs it: about 2 MB for a Chinese, Japanese or Korean one and under a megabyte for the others. Scripts with no font here, such as Hindi, Bengali, Georgian, Armenian, Khmer and the extra letters of Kazakh and similar Cyrillic languages, are left out of the layer rather than written wrongly, and so is a word with a character outside the common set of its font. The result screen says how many words that came to, and the Text output still has them in full.
  • Passwords: type the password beside the file name if the PDF needs one to open; the searchable PDF is saved without it. A PDF that opens freely but restricts copying or printing needs no password, and the searchable PDF comes back without those restrictions.

When another tool fits better

If you want the words in an editable Word file, PDF to Word has a Run OCR first option that does the recognition for you, though a converted layout is never identical to the original. Run OCR before Compress, not after.

Frequently asked questions

Related tools

This tool ran entirely in your browser and nothing was uploaded. Your Recent files list keeps a copy of local files under 5 MB until you clear it. How your files are handled.