Image Tools

Image to Text (OCR)

Extract text from a photo, screenshot, or scanned document. The recognition runs entirely in your browser — the image is never uploaded anywhere.

Click to upload or drag and drop

JPG, PNG, or WebP

How it works

This tool uses an open-source OCR (optical character recognition) engine that runs as WebAssembly directly in your browser tab. Your image is read and processed locally — it's never sent to a server. The first run downloads the recognition engine and language data (a few megabytes), which your browser then caches for future use. You can choose from six languages (English, Spanish, French, German, Hindi or Portuguese), and the result comes with a confidence score.

This tool reads image files such as photos, screenshots and single-page scans. For a PDF, use Scanned PDF to Text (OCR) if its pages are scans, or the PDF to Text Converter if it already has selectable text.

Getting the best results

  • Clear, well-lit photos and screenshots work best — aim for at least 200 DPI equivalent
  • Straight, non-rotated text is recognized more reliably than skewed or curved text
  • Printed text is much more reliable than handwriting
  • Code, equations, and unusual symbols are recognized poorly — this works best on ordinary prose

Reading the result

  • The confidence figure is the OCR engine's own overall score for the image, rounded to a whole percent. A high number does not guarantee every word is right, so read the text through.
  • The text box shows the recognized text with spaces trimmed from both ends. Copy puts it on the clipboard, and Download .txt saves it under the image's name with a .txt ending.
  • If nothing is found, the box stays empty with the note "No text was detected in this image", and there is no download button.

Languages and limits

You pick one language per run: English, Spanish, French, German, Hindi or Portuguese. An image that mixes two of them is read with the one you chose, so words in the other may come out wrong. The first run downloads the engine and the data for that language, and your browser keeps them for later; switching language starts the engine again with that language's data. Images can be up to 50 MB, and any file your browser reports as an image is accepted.

If recognition fails, you see "Something went wrong reading text from this image". A clearer or higher-resolution picture is the usual fix.

Guide

Frequently asked questions

Is my image uploaded anywhere?

No — the recognition engine runs as WebAssembly directly in your browser tab. Your image never leaves your device.

Why does the first run take longer?

The OCR engine and language data (a few megabytes) are downloaded on first use and cached by your browser, so later runs start much faster.

Does this work on handwriting?

It's built for printed text and works poorly on handwriting, code, or heavily stylized fonts.

Can it read scanned PDFs?

Not in this tool, which takes image files (JPG, PNG, WebP). For a scanned PDF use the Scanned PDF to Text (OCR) tool; for a PDF that already has selectable text, use the PDF to Text Converter.

What does the confidence percentage mean?

It is the OCR engine's own estimate of how sure it is across the image, rounded to a whole number. A low figure on a blurry photo is a reason to check the text closely; a high one is not proof that it is correct.

Can it read two languages in the same image?

Not at once. One language is used for each run. Choose the language that covers most of the text, or run the image twice with different languages and compare.

Why is there no Download button?

The button appears only when the engine finds some text. For an empty result, try a sharper or larger image, or a different language.

Related tools