HexaConvert

Image to Text (OCR)

Read the text out of a screenshot, a scan or a photo of a page, in your browser. Nothing is uploaded.

Drop a picture with text in it

PNG, JPEG, WebP, HEIC, GIF, AVIF or BMP, up to 50 MB. A screenshot can be pasted straight in.

About this tool

Reads the text out of a picture and hands it to you as text you can edit, copy or save: a screenshot of an error message, a scanned letter, a photo of a page in a book, a menu, a receipt. The engine is Tesseract, the open-source recogniser behind most of the OCR on the web, compiled to WebAssembly and run in a worker inside this tab. Nineteen languages are available, each a pack of a few megabytes fetched the first time it is used, and the picture itself never leaves your device.

How to use it

  1. 1Drop a picture with text in it, or paste a screenshot straight from the clipboard.
  2. 2Pick the language the text is written in. The engine reads letters it knows, so German text read as English loses its umlauts.
  3. 3Press Read the text. The result appears in a box you can edit, then copy it, download it as .txt, or send it to the word counter.

Good to know

What reads well, and what does not

Printed text, sharp and the right way up, comes out nearly perfect: a screenshot or a good scan reads at over ninety percent confidence and needs a glance rather than an edit. A phone photo of a page is fine if it is in focus and evenly lit; a slight tilt is measured and straightened before reading. Handwriting, text over a busy photograph, very small type and heavy shadows are where the engine struggles, and the confidence figure under the result says so honestly.

Size is chosen for the engine, not for you

Tesseract reads best with letters twenty to thirty pixels tall. A phone screenshot has half that, so small pictures are doubled before reading, and pictures over four thousand pixels across are reduced, since a page has no more legible text at forty-eight megapixels than at twelve and the engine's time grows with every pixel. Neither changes the picture you dropped.

Everything runs here

The engine is about four megabytes and each language pack one to three, served from this site and kept by the browser afterwards, so the second run in a language fetches nothing. The file is read into memory by your own browser and processed there, so it is never uploaded and never reaches a server.