Image to Text
Extract text from any image using OCR. Upload a photo, screenshot, or scanned document and get the text instantly. Free, private, runs in your browser.
Upload Image
Drop an image here
or click to browse
JPG, PNG, WebP, GIF
Extracted Text
Extracted text will appear here
How to extract text from an image
Load an image, let the OCR engine read it, and proofread the result before you use it.
- 01
Use the sharpest image you have
Drop in a JPG, PNG, WebP or GIF. A straight-on photo in good light beats a tilted one taken in a dim room, and a screenshot beats a photo of a screen.
- 02
Crop to the text first
If the text is a small part of a busy photo, crop it with the Image Cropper before you start. The engine then spends its effort on the words, not on the background.
- 03
Extract and watch the progress bar
The first run loads the OCR engine and English language data, so it takes longer. After that, a typical screenshot finishes in a few seconds.
- 04
Proofread, then copy or download
Check numbers, names and email addresses against the image. Copy puts the text on your clipboard; Download saves it as a .txt file.
How the text is read
The tool runs Tesseract, an open-source OCR engine first developed at HP and later maintained by Google, compiled to WebAssembly through the Tesseract.js library. It looks for lines of text in the image, splits them into words, and uses a neural network trained on English to recognise each one.
Your image never leaves the browser. What does come over the network, once, is the engine itself and the English language data, which your browser then caches. That's why the first extraction is slower than the rest, and why it needs a connection the first time.
What kind of image gives the best result
Accuracy depends far more on the image than on anything you can set. This is roughly what to expect from common sources:
| Source | Typical result | Why |
|---|---|---|
| Screenshot of a web page or app | Very good | Clean edges and plain backgrounds |
| Scan of a printed page at 300 DPI | Very good | The resolution Tesseract's own docs recommend |
| Phone photo of a document, taken square-on | Good | Shadows and curled pages cause the most errors |
| Receipt from a thermal printer | Fair | Faded, low-contrast print; numbers need checking |
| Text on a photo, sign or product label | Fair to poor | Busy backgrounds and stylised fonts confuse it |
| Handwriting | Poor | The model is trained on printed text |
Size matters too. Tesseract struggles when letters are only a few pixels tall, so a whole page squeezed into a small thumbnail will come out garbled. If text looks tiny, crop to the area you need rather than shrinking the image, and use the original file rather than a compressed copy from a chat app.
Fixing a photo before you run OCR
Most bad OCR results come from the photo, and a minute of preparation fixes most of them. Shoot straight down at the page with the phone parallel to it, so lines stay level. Light it evenly: window light from the side works well, while an overhead lamp often casts your own shadow across the text. Turn off the flash on glossy paper, since its glare wipes out whole words.
Then crop to the text, using the Image Cropper. If the page came out slanted, rotate it with Image Flip & Rotate so the lines are horizontal. For faint print, such as an old receipt, raising the contrast in your phone's photo editor before uploading helps the engine separate ink from paper. Keep the image at its original size. Shrinking a photo to save space throws away the detail OCR needs.
What people extract text from
Copying text out of a screenshot
Error messages, slides from a call and posts that can't be selected are the easiest wins. The result usually needs only a quick check.
Typing up a printed letter
Photograph each page flat and square-on, extract it, then fix the handful of misread words instead of retyping the whole page.
Getting numbers from a receipt
Pull the totals into a spreadsheet for expenses. Thermal receipts fade, so check every figure against the paper.
Making a quote searchable
Extract a paragraph from a photo of a book page so you can paste it into your notes and find it later.
Proofreading the output quickly
You rarely need to reread everything. Start with the parts where a mistake costs most: numbers, amounts, dates, names, email addresses and URLs. OCR errors cluster in those, because there's no surrounding word for the engine to lean on. Compare each against the image.
Next, paste the text into a document with spell check on. Misreads usually turn real words into non-words, such as "rnodern" for "modern", which spell check underlines at once. Finally, compare the word count with what you expected. A paragraph that comes back far shorter usually means a line was skipped, often one in a different colour or sitting over a photo.
Limits worth knowing
- It reads English only. Accented letters in French or Spanish words are often lost, and other scripts such as Hindi or Arabic aren't recognised.
- Layout isn't kept. Columns, tables and text boxes come out as plain lines, so a two-column page may interleave its columns.
- It takes images, not PDFs. For a scanned PDF, use PDF OCR, which reads printed text from a PDF page.
- One image at a time. There's no batch mode for a folder of photos.
- Very large photos are slow. A 12-megapixel phone photo takes noticeably longer than a cropped screenshot, especially on older phones.