Image to Text Converter (OCR)

Turn a photo, screenshot or scanned page into editable text: add an image and the text appears in seconds, ready to copy or download as a .txt file. The OCR runs on your own device, so your images are never uploaded.

Free, no sign-up, images stay on your device.

Extract text from images

JPG · PNG · WebP · HEIC
Greyscale, stronger contrast, light text on dark made dark on light, and small images enlarged.

Your images are read on this device and never uploaded. On first use the browser downloads the OCR engine (about 1.4 MB) and the language data (0.7 to 3 MB) from the jsDelivr CDN (cdn.jsdelivr.net) and then keeps them in its cache.

How to convert an image to text

  1. Pick the Language of the text. It starts on the language of this page; choose the language the image is written in, because the engine uses it to recognise letters and words.
  2. Add your images: press Choose images, drag and drop them onto the box, paste a screenshot with Ctrl+V (⌘V on a Mac) or Paste image, or on a phone press Take a photo. Several images are read one after another.
  3. Watch the progress bar. The first time, the browser downloads the OCR engine and the language data (about 4.3 MB for English); after that they come from the cache.
  4. Check the text next to each image and correct anything misread. Press Copy text or Download .txt (or Copy all and Download all (.txt)).
  5. If the result is poor, check the language, switch Enhance small or faint text on or off and press Read again. Turn on Join lines into paragraphs to remove the line breaks of the original layout.

How OCR works

Optical character recognition (OCR) turns the pixels of letters into text you can edit. This converter uses Tesseract, a long-established open-source OCR engine, compiled to WebAssembly by the Tesseract.js project so that it runs in your browser. The engine turns the image into black and white, finds the blocks, lines and words, and a neural network (an LSTM) reads each line as a whole, guided by the data for the language you chose. That is why the language matters: German data knows ß and ü, Chinese data knows thousands of characters. Choose one language per run; for Chinese and Japanese, the stray spaces the engine puts between characters are removed.

Enhance small or faint text converts the image to greyscale, stretches the contrast, turns light text on a dark background (dark-mode screenshots) into dark on light, and enlarges small images two or three times, because the engine reads tiny letters poorly. It helps most with small screenshots and faded scans; on large, sharp photos it changes little.

Tips for the best results

  • Light and focus: photograph pages in even light without shadows or glare, and make sure the text is sharp.
  • Straight and flat: hold the phone parallel to the page and flatten curled pages. Skewed or curved lines cause many errors.
  • Enough pixels: letters should be at least about 20 pixels tall. Scan text at 300 dpi.
  • Crop to the text: remove pictures, borders and columns you do not need.

What to expect from different images

ImageTypical result
Screenshot of a web page, document or chatVery good, few errors
Scanned printed pageVery good at 300 dpi; worse for faded or low-resolution scans
Phone photo of a documentGood when sharp, flat and evenly lit
Signs, labels, text on photos or busy backgroundsMixed; crop tightly to the text
Tables and multi-column layoutsThe words are found, but cells and columns come out as plain lines
HandwritingPoor, except very neat block capitals

The confidence figure is the engine's own average certainty about the words it found: an estimate, not a measured accuracy. Always check names, numbers and amounts.

Privacy

Your images are recognised on your own device and never uploaded. When you add your first image, the browser downloads the Tesseract.js library, the WebAssembly engine and the language data, in exact fixed versions, from the jsDelivr CDN (cdn.jsdelivr.net) and keeps them in its normal cache; these requests contain no image data. A HEIC converter is downloaded the same way, only if your browser cannot open iPhone HEIC photos itself. Your choices of language, enhancement and paragraph joining are kept in this browser's local storage.

Related: HEIC to JPG for iPhone photos, Compress Image, JPG to PDF to turn scans into a document, and the word counter for the extracted text. For text-based PDFs, PDF to Text is faster and exact; to keep scanned PDFs small, read how to reduce PDF file size.

Frequently asked questions

Is this image to text converter free?

Yes: free, with no sign-up and no daily limit. Your own device does the work, so very large batches simply take longer.

Are my images uploaded?

No. The images are processed in your browser and never leave your device. Only the OCR engine and language data are downloaded, from cdn.jsdelivr.net, and those requests contain nothing from your images.

Can it read handwriting?

Not reliably. The engine is trained on printed text, so handwriting usually comes out with many errors. Very neat block capitals sometimes work; joined-up handwriting rarely does.

Which languages are supported?

Nineteen: English, Spanish, Portuguese, German, French, Italian, Turkish, Russian, Indonesian, Simplified Chinese, Traditional Chinese, Japanese, Korean, Arabic, Hindi, Dutch, Polish, Ukrainian and Vietnamese. Pick the language the image is written in for the best result.

How do I copy text from a picture on my phone?

On your phone, press Take a photo to photograph the text, or Choose images to pick a picture or screenshot. When the text appears, press Copy text and paste it wherever you need it.

Can it convert a scanned PDF to text?

Not directly: it reads images. Convert the PDF pages to images with PDF to JPG first, then add the images here. If the PDF already contains selectable text, use PDF to Text instead.

Updated

Copied to clipboard