Image tool
Extract text from an image
Reads the printed text out of a photo or screenshot and hands you a .txt file. The whole thing runs inside this tab — the recognition engine is downloaded to your browser once and does the work locally, so the picture is never sent to us or to anyone else. That matters more here than on most pages: the images people need to read text out of tend to be receipts, contracts, prescriptions and identity documents.
- 100% free
- No signup
- Never uploaded
Drop your files here
or click to browse from your device
Supports JPG, PNG, WEBP, BMP · Max 25 MB per file · Up to 30 pages
Settings
Tesseract breaks a line wherever the picture does, not where the sentence does. Keep the layout for receipts and tables; join into paragraphs for anything you are about to paste into a document.
- Secure & privateYour files are never shared
- Lightning fastMost images in under a second
- High qualitymozjpeg and libvips under the hood
- Works everywhereAny device, any browser
Output quality
Accuracy depends almost entirely on the picture rather than on any setting here. A flat, sharp, well-lit photograph of printed text is read close to perfectly. The same page photographed at an angle in dim light can come back with several mistakes per line, and no amount of processing recovers detail the camera never captured. If a result looks wrong, retake the photo before trying anything else.
See what this tool actually did to real files — median size change, speed and sample size, published whichever way the numbers fall.
Privacy: this tool does not upload your file
The file is never sent anywhere
This tool is JavaScript running in your tab. Your document is read from your disk into browser memory and never transmitted — not to us, not to anyone. It handles files up to 25 MB and 30 pages.
You can check this yourself
Load this page, turn off your internet connection, and run the tool. It still works. That is not a promise about our conduct — it is something you can verify in ten seconds.
Nothing to delete afterwards
There is no upload, no job record and no copy on any server, so there is no retention period. Close the tab and the working copy is gone with it.
No third parties involved
The PDF engine and its fonts are served from this domain rather than a public CDN, so no outside company sees that you used this page, or when.
Input, output and limits
Every figure below is read from the same configuration the server enforces, so this page cannot promise a limit the system will refuse.
- Input formats
- JPG, PNG, WebP, image/bmpWhat is JPG?What is PNG?What is WebP?
- Output format
- text/plain
- Maximum file size
- 25 MB per file
- Maximum pages
- 30 per run
- Multiple files
- Yes — several files at once
- Price
- Free, with no account and no watermark
- Processing
- Inside your browser — the file is never uploaded
- Engine
- pdf-lib, running inside your browser
- File retention
- None — nothing is uploaded, so there is nothing to keep or delete
Common use cases
Copy text out of a screenshot
Error messages, chat threads and slides arrive as pictures constantly, and retyping them is the slowest way to deal with one. Screenshots are also the easiest case for the engine: sharp, flat, high contrast, no perspective.
Get the numbers off a photographed receipt
Useful for expense claims, where the total and the date are all you actually need. Keep the layout option on so each line stays on its own line — receipts are columns, and joining them into paragraphs destroys the alignment.
Quote from a photograph of a book page
A page shot straight on in daylight reads close to perfectly. Photograph one page at a time rather than a two-page spread: the curve near the spine is where most errors come from.
Read a serial number off a label
It works, and it is exactly where you must check the result character by character. Codes have no surrounding words for the engine to lean on, so 0 against O and 1 against l come down to a guess.
Settings you can change
Line breaks
Keep the layout — one line per line on the page · Join into paragraphs — better for pasting
Tesseract breaks a line wherever the picture does, not where the sentence does. Keep the layout for receipts and tables; join into paragraphs for anything you are about to paste into a document.
Troubleshooting
- The result is empty or nonsense
- The picture is probably too low-contrast for the engine to find letters at all. Retake it straight on, in better light, with the page filling the frame. Cropping away everything that is not text also helps.
- A table came out in the wrong order
- The engine reads the page as lines, not as a grid, so columns interleave. Crop each column into its own image and run them one at a time.
- It is taking a long time on the first run
- That is the one-off download of the recognition engine and the English language model, about 2 MB. It is cached afterwards, so later runs start straight away.
Something else went wrong? Tell us what happened — a person reads every report, and that is how this list gets longer.
Frequently asked questions
Browse image toolsIs the image really not uploaded?
Really not. The recognition engine is Tesseract compiled to WebAssembly; your browser downloads it once (about 2 MB for the English model, then cached) and runs it on your own machine. You can confirm it yourself: open your browser developer tools, switch to the Network tab, and run a file through. You will see the engine and the language model being fetched from this site, and no request carrying your picture. Turn your Wi-Fi off after the page loads and it still works.
What does it read well, and what does it read badly?
Well: printed text, photographed straight on, in focus, in reasonable light — book pages, invoices, screenshots, signs, packaging. Badly: handwriting, pages photographed at an angle, motion blur, low light, and text over a busy background. Multi-column layouts and complex tables come out in a jumbled order, because the engine reads the page rather than understanding it. If the confidence score comes back under 60% the result is marked at the top of the file, so you know to check it.
It got some characters wrong. Why?
OCR guesses at shapes, and some shapes are genuinely ambiguous — 0 and O, 1 and l and I, 5 and S, rn and m. Context usually saves it, but not always, and it is worst in serial numbers, licence keys and codes, exactly where a single wrong character matters most. Always read those back against the original. A sharper, straighter, better-lit photograph fixes more errors than any setting.
What languages does it handle?
English only for now. Each additional language is a separate model file your browser has to download, and shipping a dozen of them by default would make the page heavy for everyone to benefit a few. The English model also handles most European accented characters reasonably, but a page written in Vietnamese, Chinese, Japanese, Arabic or Russian needs its own model and will not come out right here.
Can I do this to a PDF?
If the PDF already contains a text layer — anything produced by Word, a browser or an invoicing system — then no OCR is needed at all: the text is already in there, exactly, and PDF to Word gets it out without a single guess. OCR is only for pages that are pictures, such as scans and photographs. Export those pages as images with PDF to JPG first, then bring them here.
How long does a page take?
A few seconds per image on a normal laptop, plus a one-off pause the first time while the engine and language model load. It is slower on a phone, and slower again on a very large image. Because it runs in your tab, closing the tab stops it; nothing carries on in the background.
Where does my file go when I use this tool?
Nowhere. This tool is JavaScript that runs inside your browser tab, so the file is read straight from your disk into memory on your own device and never sent to us. There is no upload, no job record and no copy to delete afterwards — close the tab and the working copy goes with it. You can confirm this yourself: load the page, disconnect from the internet, and the tool still works. It handles files up to 25 MB and 30 pages, and those limits come from what one browser tab can hold rather than from anything on our side.
About these formats
- JPGJPG (also written JPEG) is a lossy image format that discards visual detail the eye is least likely to notice, which is why photographs stored as JPG are typically 5–15 times smaller than the same image stored losslessly..
- PNGPNG is a lossless image format: it stores every pixel exactly as it was saved, supports a full alpha transparency channel, and never degrades no matter how many times the file is opened and saved again..
- WebPWebP is an image format developed by Google that offers both a lossy and a lossless mode, supports transparency and animation in either mode, and is typically 25–35% smaller than a JPG of comparable quality..