Skip to content
I Hate Online Tools

Image to text

English OCR with Tesseract, worker and traineddata on this origin.

Runs in this tab. The file stays here.

This runs in your browser. Nothing is uploaded.

About Image to text

Reads English text out of a still with Tesseract.js. Worker, wasm, and traineddata all load from this origin. The image is never uploaded.

OCR-as-a-service is a scan of a contract sitting on someone else's disk. This page runs Tesseract in a worker. The worker script, the wasm core, and eng.traineddata are copied into /tesseract at build time. There is no jsDelivr, no tessdata CDN at runtime.

It reads English printed type reasonably. Handwriting, vertical text, dense tables, and tiny screenshots will disappoint. A photo of a page needs to be sharp and contrasty. I am not going to ship twenty languages until each traineddata file lives on this origin too.

The result is text in the panel. Copy it. Download a .txt. Nothing about the image goes to Analytics — page views are not file bytes, same as every other tool. A screenshot of a slide usually reads better than a photo of a page shot at an angle under a lamp.

How to use Image to text

  1. 1Drop a PNG or JPEG that actually contains words.
  2. 2Click Read text. First run fetches the local worker and language data.
  3. 3Copy the output or download it as a text file.

What it won't do

  • English print. Not handwriting, not 40 languages.
  • Needs a reasonably sharp still.
  • First run downloads same-origin wasm and traineddata.

Common questions

Does image-to-text upload the scan?

No. Tesseract runs here. workerPath, corePath, and langPath point at this origin. If the network tab shows a CDN, that is a bug.

Which languages work?

English on this pass. Extra languages mean extra traineddata files I have to host. I will not fetch them from GitHub when you click.

Can it read handwriting?

Poorly. Tesseract was built for print. A messy note will come back as soup. That is the engine, not a paywall.

Why not a cloud OCR API?

Because the whole site exists so a scan of a passport or a medical letter does not become someone else's training set.

Related tools

Why this one doesn't upload your file

There is no server to upload to. This page is a static file, and the work happens in your browser using the same graphics and WebAssembly code that renders every other site you visit. Your file is read from disk into memory, processed, and handed back as a download. Once the page has loaded you can disconnect from the network entirely and it keeps working. The longer explanation

Install the app