Skip to content
100% Privacy — Files Stay On Your Device
>_
English

Image to Text (OCR)

Turn photos, screenshots and scanned PDFs into editable text — recognized on your own device, nothing uploaded.

or drag and drop files here, or paste an image with Ctrl+V

JPG, PNG, WebP, GIF, BMP, AVIF, HEIC and PDF (scanned pages). Up to 30 files at once.

Language of the text

Pick the language(s) written in the image — up to 4. Choosing the right language matters much more than any other setting.

  • English

The first time, about 2.8 MB of language data is downloaded and then cached in your browser.

Advanced: page layout and image preparation

Automatic works for most pages. Use a single block or a single line for cropped snippets, and sparse text for scattered labels, signs and screenshots.

Image preparation (optional)

Large images are automatically scaled to at most 3000 px on the long side, and small ones are enlarged. Try these only if the result is poor.

Rotation: 0°

Preview of what the OCR engine will see

Shown for the first file in the list.

Add an image or PDF to see a preview.

Your images and PDFs never leave your device. On first use the browser downloads the OCR engine and a language model (data about the language, not your content) — after that it is cached and recognition runs locally.

How to extract text from an image with OCR

Optical character recognition, or OCR, turns pictures of text into text you can select, edit, search and copy. This tool uses Tesseract, an open-source recognition engine compiled to WebAssembly, so the whole process runs inside your browser tab. You can drop in photos of documents, screenshots, receipts, book pages or slides, paste an image straight from the clipboard with Ctrl+V, or load a scanned PDF and choose which pages to read.

The quality of the result depends far more on the input than on any setting. Photograph or scan the page as flat and square as you can, in even light, at a resolution where letters are clearly legible, and avoid shadows and glare. Always select the language that is actually printed in the image; you can combine several, for example Vietnamese and English for a document that mixes both. Large images are shrunk to a sensible size before recognition and tiny ones are enlarged, which keeps memory use under control.

If the result is poor, open the advanced options. The preview shows exactly what the engine will see after your adjustments. Grayscale and contrast help with faded text, the adaptive black-and-white mode helps with uneven lighting, invert handles light text on dark backgrounds, and rotation fixes sideways photos. The page layout mode lets you tell the engine whether it is looking at a whole page, a single column, one line or scattered labels, which can matter a lot for screenshots and cropped snippets.

After recognition you see the original next to an editable text box, with the engine’s average confidence and a warning when it is low. You can highlight the words it was least sure about, join lines that were broken by the page width, remove extra blank lines, copy the text, or download it as a .txt file, or as a single merged file or a zip when you processed several images. A shortcut sends the text to the Text Diff tool so you can compare two scans, and the Word Counter and Case Converter are one click away for further clean-up.

Be realistic about the limits. OCR is not perfect: mistakes are normal on photos, small print, unusual fonts, tables and multi-column layouts, and handwriting is generally not recognized well. Languages with many accents or complex scripts, such as Vietnamese, Arabic, Hindi or Thai, are more error-prone, so proofread anything important. The first run must download the engine and language data, which takes a little while, and very large images or long PDFs can exhaust the memory of older phones, so process them in smaller batches.

Frequently asked questions

Are my images uploaded to a server?

No. The OCR engine runs in a Web Worker inside your browser, and your images and PDFs are processed in memory on your device. The only thing downloaded is the engine itself and a language model for each language you pick — public data about the language, never your content. After the first use they are cached by your browser.

How accurate is the recognition?

It depends mostly on the image. Clean, sharp, well-lit printed text in the right language is often read very well, but low resolution, blur, shadows, skewed pages, decorative fonts and complex layouts all lower accuracy. Handwriting is not supported reliably, and accented languages such as Vietnamese can have wrong or missing diacritics. Treat the result as a first draft and proofread it; the confidence figure is only the engine’s own estimate.

Why does the first run take longer?

On first use the browser has to download the OCR engine and the language data, which is roughly 1 to 4 MB per language. It then keeps them in its cache, so later runs start much faster and recognition itself happens locally. If you are offline on the very first run, the language data cannot be fetched and the tool shows an error.

Can it read scanned PDFs?

Yes. Each selected page is rendered to an image in your browser and recognized one by one; you can choose a page range and cancel at any time. If a PDF already contains selectable text you can usually just copy it directly, which is more accurate than OCR.

Which languages and layouts are supported?

35 languages, including English, Vietnamese, Spanish, Portuguese, French, German, Japanese, Korean, Chinese (Simplified and Traditional), Arabic and Hindi, and you can combine up to four at once for mixed-language text. Multi-column pages, tables and vertical text are not reconstructed perfectly; use the page layout mode in Advanced for single columns or snippets.

Related tools