Skip to content

PDF OCR

OCR Image to Text

Point the recogniser at a picture and get the words it contains.

Processed locally in your browser. Downloads a recognition engine once; your file is still never uploaded. How this works

  1. 01Add your files
  2. 02OCR Image to Text
  3. 03Download

Runs in your browser · downloads an engine file once

About OCR image to text

Images arrive with text in them constantly — a screenshot of an error dialog, a photographed whiteboard, a page snapped with a phone, a chart whose labels you need to quote. This tool takes any common raster format and returns the words. Mechanically it is the same pipeline as PDF OCR minus the rendering step: the bitmap goes straight into Tesseract, which binarises the image, finds text lines, splits them into candidate characters and classifies each against the trained model for your chosen language, using word-level statistics to settle ambiguous shapes like 1 versus l versus I. Screenshots are the easy case — clean, high-contrast, machine-rendered type recognises close to perfectly. Photographs are harder: uneven lighting, perspective and shadows all cost accuracy, and a photo taken at an angle should be straightened before recognition rather than after. You can queue several images and collect the text from all of them.

How to OCR image to text

  1. 01

    Add your images

    Drop in one or several JPG, PNG, WebP or BMP files. They are read locally.

  2. 02

    Choose the language

    Pick the language of the text in the picture from the seven available models.

  3. 03

    Recognise

    Each image is processed on your CPU. Screenshots are quick; large photographs take longer.

  4. 04

    Take the text

    Copy the result or download it, with each image's text clearly separated.

What this tool does

  • Accepts JPG, PNG, WebP and BMP in one queue
  • Several images per run, with results kept separate per file
  • Recognition on your own device — screenshots of private systems stay private
  • Seven trained languages, including Arabic
  • Near-perfect results on screenshots and other machine-rendered type

Limitations worth knowing

Every PDF tool has constraints. Stating them plainly is more useful than discovering them halfway through your work.

  • Handwriting is not reliably recognised; these models are trained on printed characters.
  • Photographs with uneven lighting, shadows or perspective skew lose accuracy quickly — straighten and crop first.
  • Very small text in a low-resolution image may be unrecoverable; nothing can recover detail the pixels do not contain.
  • Only the seven listed languages are supported, and Arabic is harder than the Latin-script ones.

How your file is handled

This tool runs inside this browser tab, but it first downloads a recognition engine and language model — static files, fetched once and then cached by your browser. Your document is never part of that request: the engine comes down to your device, and your file stays on it. You can verify this in the Network panel, where you will see the engine assets download and no upload of your document.

Nothing is stored after the fact. Closing or reloading this tab discards the file, the result and everything derived from them, because none of it ever left your machine. Read how local processing works.

Questions about OCR image to text

Which images recognise best?

Screenshots and other machine-rendered text, because the characters are crisp, evenly lit and perfectly aligned. Photographs of paper are the harder end of the range.

Can it read my handwriting?

Not dependably. Tesseract is trained on printed type; handwriting needs a different class of model and is not something we will pretend to do well.

How should I photograph a page for best results?

Flat, evenly lit, shot straight on rather than at an angle, filling the frame. Aim for detail equivalent to a 300 DPI scan and avoid shadows falling across the text.

Are my images uploaded?

No. Only the OCR engine and language model come down from the network. The images themselves are read from disk into the tab and never sent anywhere.

Read more about this