Extract text from an image online
Drop an image anywhere on this page, click it, and press Extract text. The text comes back in your browser — copy it, download it as .txt, or make every image in an archive searchable. Nothing is uploaded.
Drop your image (PNG, JPEG, WebP, GIF, BMP) anywhere on this page
The OCR engine runs entirely in your browser. Images never leave your device.
Extracting text from an image — OCR, optical character recognition — is normally a trust exercise. Most "image to text" sites ask you to upload the picture to their server first, which is exactly wrong for the images people usually need this for: screenshots of error messages, photos of invoices and receipts, chat logs, ID documents, internal slides. This page does the same job with the engine running on your own machine: you drop the image, Tesseract compiled to WebAssembly reads it inside your browser tab, and the characters come back as ordinary text. No upload step exists to trust.
What you get is a text pane next to the image: a confidence number (OCR is a prediction, not a promise), a Copy button, and a Download .txt in the viewer’s status bar. If the image lives inside a zip — a folder of screenshots, a bundle of scans — you can also run the whole folder at once and download every extracted text as a single zip of .txt files, with each image’s text registered into the archive’s content search so Ctrl-F finds screenshots by what was on them.
How to extract text from an image
Three steps, no account, no install:
- Drop the image anywhere on this page — PNG, JPEG, WebP, GIF, or BMP work; or click Try an example image to see it with a sample.
- Click the image in the file list. It opens in the image viewer with an Extract text (OCR) button at the top right.
- Press it. The first run downloads the OCR engine and your language’s model (a few MB, once — then cached); every later image is near-instant. The extracted text appears in place of the photo, with Copy, Download .txt, and a confidence number.
- Pick the language from the dropdown before extracting — English, French, German, Hindi, Urdu, or Simplified Chinese. The choice is remembered for next time.
What kinds of images extract well
OCR reads pixels, so image quality decides the ceiling. Clean, high-contrast, horizontally-aligned text — screenshots, scans of typed documents, photos of printed pages — extracts reliably, and the confidence number tells you how sure the engine is per run.
- Screenshots are the best case: the text was rendered by a computer at exact pixel positions. Error dialogs, settings pages, code in a paused video — all extract almost perfectly.
- Scans and photos of printed text do well when the text is large, flat, and evenly lit; skew and page curvature cost accuracy.
- Stylized text — logos, handwriting, artistic fonts, text over busy backgrounds — is where OCR in general struggles; expect fragments rather than clean sentences.
- Very large images are refused up front rather than allowed to freeze the tab: over 25 MB, or over 40 megapixels for PNG/JPEG.
Text from many images at once
One image at a time is fine for a single screenshot. For the common "I have a zip full of screenshots" case there is a folder mode: open the archive, browse to the folder, and the toolbar’s OCR button runs every image in it (up to 50) in one pass with one language, then downloads all the text as a <archive>-ocr.zip of .txt files that mirror the image paths.
The part that makes this more than a bulk converter: every extracted text is registered into the archive’s content search as soon as it lands. Switch the search box to Content and type a word — the images that contain it are listed with the matching line, the same way text files are grepped. Your screenshots stop being opaque pixels in a folder.
Why no upload matters for OCR
The images people OCR are rarely public: receipts with card numbers, error messages with internal hostnames, chat screenshots, document scans. On an upload-based converter, that image is transferred to and stored on someone else’s server before the first character comes back.
Here the engine code is downloaded (from this site’s own domain, not a third-party CDN) and the recognition happens in the tab. You can watch it in DevTools: after the one-time engine fetch, extracting an image generates no request containing your file. The same guarantee backs the whole site — see why client-side is safer than uploading.
Honest limits
Real capability, real boundaries — stated up front.
- Raster images only. PNG, JPEG, WebP, GIF, and BMP. SVG files are code, not pixels — they open in the text viewer instead.
- No PDFs. A PDF’s pages are not plain images this viewer can reach; OCR for PDFs is deliberately not claimed.
- Accuracy varies by language and by input. English screenshots extract near-perfectly; Simplified Chinese is good on clean input; Urdu (Nastaliq script) is the weakest of the six. The confidence number is shown so you can judge each run, not take an accuracy promise on faith.
- One language per run. Mixed-language images are read with the one language you pick; there is no automatic language detection.
- Size caps. 25 MB per image, 40 megapixels for PNG/JPEG, 50 images per folder batch.
Credits
The engine is Tesseract, Apache-2.0-licensed, running in your browser via WebAssembly with no modifications. This page adds the viewer, the search integration, and the download plumbing — Tesseract does the reading.
Frequently asked questions
Is the image uploaded anywhere?
No. The OCR engine (Tesseract compiled to WebAssembly) runs inside your browser tab, and the image pixels never leave your device. The only network activity is the one-time download of the engine and your language’s model — code, served from this site’s own domain — which your browser then caches. You can verify this in DevTools: extracting an image produces no request containing your file.
Which image formats work?
PNG, JPEG/JPG, WebP, GIF, and BMP — the common raster formats. SVG is excluded because it is vector code rather than pixels (it opens in the text viewer as source). PDF files are not supported for OCR: their pages are not plain images this viewer can access.
Which languages can be extracted?
Six: English, French, German, Hindi, Urdu, and Simplified Chinese. You pick one from the dropdown before extracting, and the choice is remembered. One language per run — there is no automatic language detection.
How accurate is the extracted text?
It depends on the image, and the confidence number shown with each result tells you how sure the engine is. Clean, sharp, horizontal text (screenshots, typed scans) extracts reliably — often perfectly. Handwriting, stylized fonts, skew, or low contrast lower accuracy. Treat OCR output as a strong draft you verify, not ground truth.
Can I extract text from many images at once?
Yes — inside an archive. Zip your images, drop the zip, open the folder, and the toolbar’s OCR button extracts every image in it (up to 50) in one pass, then downloads all the text as a single zip of .txt files. Each image’s text also becomes searchable in the archive’s content search immediately.
Does it work offline?
After the first run, yes for the same language: the engine and language model are cached by your browser, so extracting further images works with no connection. The first extraction of a given language needs the one-time model download.
Is it free?
Yes — extracting text from images here is completely free, with no account, no watermarking, and no usage caps beyond the size limits that keep the tab responsive.