tooly

Image to text (OCR)

Turn a photo, screenshot or scanned page into editable text. The Tesseract OCR engine runs inside your browser, so images are never uploaded. Supports English, Russian, Polish, Turkish, Spanish, Portuguese, Indonesian, Vietnamese and more.

Your files never leave your browser

How to use

  1. 1

    Pick the language of the text in the image.

  2. 2

    Drop a JPG, PNG or WebP — recognition starts automatically.

  3. 3

    Copy the text or download it as a .txt file.

Where OCR saves real time

Optical character recognition is worth reaching for any time you are about to retype something you can already see. Typical cases:

  • A screenshot of an error message, a config snippet or a chat log that you need to paste into a ticket or a search engine.
  • A photo of a printed receipt, invoice number, serial plate or Wi-Fi password card.
  • A scanned page from a book or contract where you need two paragraphs, not the whole document.
  • A sign, menu or notice in a language you want to run through a translator.

For a multi-page scanned document, make the scanned PDF searchable instead; it keeps the layout and adds a hidden text layer.

What happens after you drop an image

The tool runs Tesseract, an open-source OCR engine originally developed at HP and later maintained by Google, compiled to WebAssembly so it executes inside your browser tab. It uses Tesseract's LSTM neural network mode, which reads whole lines rather than matching single letters.

In plain terms:

  1. The engine and the trained data for your language are loaded. They are cached by the browser, so only the first run waits for them.
  2. Tesseract analyses the page layout, finds blocks and lines of text, and splits lines into words.
  3. Each line is fed to the neural network, which outputs the most likely characters. The progress bar you see tracks this stage.
  4. The result is trimmed of leading and trailing blank space and shown in the text box, ready to copy or save as a .txt file named after your image.

When you pick any language other than English, English is loaded alongside it automatically. Screenshots of interfaces, product names, URLs and code are usually in Latin script even inside a Russian or Vietnamese text, and the second model stops them from being garbled. If you switch the language after a run, the same image is recognised again with the new setting, so you do not need to re-upload it.

The tool processes one image at a time. Accepted formats are JPG, PNG, WebP and BMP, up to 30 MB.

Preparing an image so the text comes out clean

OCR accuracy depends far more on the input than on the engine.

Size of the letters matters most

Tesseract was trained on text where capital letters are roughly 20 to 40 pixels tall. That corresponds to a page scanned at about 300 DPI. Below that, letters merge and the engine starts guessing.

  • A full A4 page photographed with a 12 MP phone (about 4000×3000 px) gives body text of a good height. The same page in a 1280×720 video frame does not.
  • A phone screenshot at native resolution is usually fine. A screenshot that was shrunk by a messenger app often is not; ask for the original file.
  • If the text is a small part of a large photo, crop the image to that area. Less background means fewer false detections.

Straight, flat and evenly lit

  • Keep text lines horizontal. A tilt of a few degrees is tolerated; 10 degrees or more noticeably increases errors, and text that is sideways or upside down will mostly fail.
  • Photograph pages flat. A curved book spine bends the lines near the gutter, so expect errors there.
  • Avoid glare from glossy paper and the shadow of your phone; side daylight works better than a flash.
  • High contrast helps: dark text on a light background is ideal. Light grey text on white, or text over a photo, is the hardest case.

Reading the result critically

Proofread before pasting the text anywhere important. Common slips:

  • 0 and O, 1, l and I, rn and m, 5 and S. Check these in serial numbers, codes and passwords character by character.
  • Tables come out as lines of words separated by spaces, without column structure. Copy them into a spreadsheet and split by spaces if needed.
  • Multi-column layouts can interleave lines from neighbouring columns; crop one column at a time.
  • Handwriting is outside what Tesseract was trained for. Neat block capitals sometimes work; cursive generally does not.

An empty result typically means the engine found nothing it considers text: the letters are too small, too blurred or the wrong language is selected for the script, for example Latin set while the image contains Cyrillic.

Privacy

Because recognition runs on your own device, the image is never uploaded to a server. That makes the tool suitable for documents you should not send to third parties: ID cards, bank statements, internal screenshots. Speed depends only on your device: a typical screenshot takes a few seconds on a laptop.

FAQ

Is my image uploaded?

No. OCR runs locally with Tesseract compiled to WebAssembly. The language data (2–3 MB) is downloaded once and cached.

How accurate is it?

Very good on clear, horizontal printed text and screenshots. Handwriting, low resolution or heavy skew reduce accuracy — crop and straighten the image first for best results.

Which languages are supported?

English, Russian, Ukrainian, Polish, Turkish, Spanish, Portuguese, Indonesian, Vietnamese, German, French and Italian. Pick the one matching the text.

Can I extract text from a PDF?

For PDFs with real text use PDF to text. For scanned PDFs, convert a page with PDF to JPG and run it through this tool.

Why is the first run slow?

The engine and language pack are fetched on first use. Later runs take a few seconds per image.

Read more

Related tools