Image to Text
Drop a photo or a screenshot and get the words out of it as text you can copy. The reading happens on your device, so the picture never leaves it.
Runs on your device — images are never uploadedDrop a photo or screenshot here
or click to browse — several at once is fine
JPG · PNG · WebP · HEIC
This reads printed text. Handwriting is not what the engine was trained on and it will mostly produce nonsense from it. A page photographed at an angle, in bad light or out of focus reads badly for the same reasons it is hard for you to read.
How it works
Three steps, no account, and the image never leaves your computer.
Drop the picture in
A photo of a page, a screenshot, a scan. JPG, PNG, WebP or an iPhone HEIC, and several at once if you have them.
Choose the language
It changes the answer more than people expect — the engine guesses words, and it guesses them in the language you picked.
Press the button and read it
The text appears in a box you can edit before copying, because no OCR is perfect and the fix belongs where the text is.
What people pull text out of
A photographed page or receipt
A book, a contract, a bill. Faster than typing it and the numbers can be checked against the picture beside you.
A screenshot you cannot select
Text inside an image, a slide, a video frame, an app that will not let you copy.
A scanned document
A scan is a picture of a page, so its words are not searchable until something reads them.
A whiteboard or a sign
Photographed notes turned into something you can actually search later.
What OCR is good at, and where it falls over
Optical character recognition does one thing: it looks at a picture and guesses which letters are in it. Everything about how well it works follows from the word guesses.
The engine here is Tesseract, which has been developed since the 1980s and is what a great many "AI text extractors" are quietly running underneath. It reads printed text extremely well and everything else with difficulty.
What makes a picture read well
Four things, roughly in order of how much they matter:
| This | Matters because |
|---|---|
| Straight on, not at an angle | Letters on a slant are a different shape. Photograph a page from directly above, not from where you are sitting |
| In focus | A blurred edge between a letter and the paper is where a guess goes wrong |
| Even light | A shadow across half the page makes that half a different colour of grey, and grey text on grey paper is hard for anything |
| Big enough | Text needs a reasonable number of pixels per letter. A whole A4 page in a 600-pixel photo is not enough |
If a result comes back as nonsense, it is almost always one of those four rather than anything about the software. Retaking the photo beats every setting.
Why the language matters
The engine does not read letter by letter and stop there. It compares what it sees against how words are actually spelled in the language you chose, and uses that to settle the ambiguous letters — the ones where a rn could be an m, or a 0 could be an O.
Run Spanish text through the English setting and you lose that help entirely. Accented characters suffer most, because English has no reason to expect them.
Handwriting is a different problem
Worth being plain about, because it is the most common disappointment. This engine was trained on printed type, and handwriting is not a messier version of printed type — it is a different thing, where letters join, lean and change shape depending on what is next to them.
Neat block capitals sometimes come through. Ordinary cursive will produce something that looks like text and means nothing.
Numbers deserve a second look
The one habit worth having. Language helps the engine with words and does nothing for digits — there is no dictionary of plausible amounts, so a 5 read as an S has nothing to correct it.
So if you have pulled out an invoice total, an account number, a date or a reference code, check those characters against the picture. The prose can be skimmed; the numbers cannot.
What it does not do
It reads text, not layout. Columns, tables and forms come out in reading order rather than in their arrangement on the page — a two-column page tends to come out as one column with the halves interleaved. If the layout is the point, crop the part you need and read it on its own.
Why doing this on your own device is not a small detail
Look at what people actually run through OCR: payslips, prescriptions, tenancy agreements, bank letters, medical results, identity documents. It is one of the most consistently sensitive categories of file there is.
The usual way to do it online is to upload the picture to a server, have it read there, and get the text back — which means a copy of that document now sits on somebody else's disk under a retention policy nobody reads. Here the engine is a few megabytes of WebAssembly that your browser downloads once and runs locally. The picture is read on your machine, and there is no server for it to have been sent to.
Common questions
Is the image uploaded anywhere?
No. The recognition engine runs in your browser as WebAssembly, so the picture is read on your own device. That is why there is no size limit, no queue and no account — and it is the reason this is safe to use on a payslip or a bank letter.
Why is the first extraction slow?
Because the engine and the language data have to arrive first — a few megabytes, once. Your browser caches them, so every extraction after that starts immediately.
Can it read handwriting?
Not reliably. It was trained on printed type, and handwriting is a different problem rather than a harder version of the same one. Neat block capitals sometimes work; ordinary cursive produces text that means nothing.
Why is the text full of mistakes?
Almost always the picture rather than the software. Photograph the page from directly above, in even light, in focus, and large enough that the letters have plenty of pixels. Retaking the photo helps more than any setting.
Does choosing the right language matter?
Yes, more than people expect. The engine settles ambiguous letters by checking them against how words are spelled in the language you picked, so the wrong language throws that help away — and accented characters suffer most.
Should I trust the numbers it reads?
Check them. Language helps with words and does nothing for digits, because there is no dictionary of plausible amounts. Reference codes, totals and dates are worth reading back against the picture.
Can it keep the layout of a table or a form?
No. It reads text in reading order, not arrangement, so columns tend to come out interleaved. If the layout matters, crop the part you need and read that on its own.
More image tools
Every one of them runs on your device. No uploads, no accounts.