Turn a screenshot into text
Drop a screenshot, click it, press Extract text — and copy the words out of it. Works on error dialogs, settings panes, code in videos, and chat captures, entirely in your browser.
Drop your screenshot (PNG, JPEG, WebP) anywhere on this page
The OCR engine runs entirely in your browser. Screenshots never leave your device.
Screenshots are how we capture things that resist copying: an error message with no Copy button, a config pane in a locked-down app, code shown for three seconds in a video, a chat on a phone. The text is right there on screen and completely locked inside pixels — so it gets pasted into a bug report as an attachment, or worse, retyped by hand.
This page unlocks it. Drop the screenshot, click it, press Extract text — the words come back as ordinary selectable text, because screenshots are the single best input for OCR: the text was rendered by a computer, at exact pixel positions, in a clean font. Recognition that has to squint at photographed paper gets to read typeset print. And it happens in your browser — the screenshot, which often shows exactly the things you would not send to a stranger’s server (internal hostnames, account names, personal messages), never leaves your device.
Get text out of a screenshot
Three steps and a copy button:
- Drop the screenshot anywhere on this page — PNG, JPEG, or WebP (whatever your screenshot tool saves). Try an example image shows the flow with a sample first.
- Click the screenshot in the file list to open the viewer.
- Press Extract text (OCR) at the top right. The first run fetches the engine and language model once (a few MB, then cached); the text then replaces the photo with a Copy button, a Download .txt, and a confidence number.
- Pick your language first if it is not English — the dropdown remembers your choice.
What screenshots extract best
Computer-rendered text is OCR’s easy mode, but a few factors still move the result from “perfect” to “mostly right”.
- Full-resolution files, not resized copies. Chat apps and ticket systems love re-compressing screenshots into blur; drop the original file, not a pasted-and-re-saved version.
- 100% zoom, not scaled. Text captured while the UI was zoomed to a non-integer factor renders slightly soft; 100% (or an exact multiple) is sharpest.
- Dark mode works fine — the engine handles light-on-dark text — but very low-contrast themes (gray on gray) read worse than high-contrast ones.
- Code screenshots extract well; alignment and monospacing help. Expect spacing around symbols to need light cleanup.
- Tiny text (a whole 4K screen captured to show one menu) is the main failure mode — crop to the region you need, or capture the window rather than the display.
A folder of screenshots, all at once
Screenshots breed: a bug report has five, a chat archive has fifty. Zip them, drop the zip here, open the folder, and the toolbar’s OCR button reads every screenshot in one pass (up to 50, one language) and downloads a <archive>-ocr.zip of .txt files that mirror the screenshot names.
Better: each screenshot’s text lands in the archive’s content search the moment it is extracted. Switch the search box to Content and type the error code you half-remember — the screenshots containing it are listed with the matching line, the same way the search already greps log files. Your screenshot folder becomes a searchable transcript of what was on your screen.
Why the no-upload part matters for screenshots
Look at what a screenshot actually contains: hostnames and IPs from error dialogs, names from chats, tokens from a partially-visible URL bar, slides from an internal meeting. Now look at how “screenshot to text” sites work: the image is uploaded to their server first, OCR runs there, and the text comes back — with the image retained for some window on infrastructure you cannot audit.
This page runs the same engine (Tesseract, as WebAssembly) inside your browser tab. The engine code downloads once from this site’s own domain; your screenshot never makes any outbound request. Check it in DevTools, or disconnect after the page loads and keep extracting — the details are in why client-side is safer than uploading.
Honest limits
Real capability, real boundaries — stated up front.
- Raster screenshots only — PNG, JPEG, WebP, GIF, BMP. SVG is code (it opens as text); PDFs are not supported.
- Six languages, one per run: English, French, German, Hindi, Urdu, Simplified Chinese. English screenshots are the strongest case; Urdu (Nastaliq) is the weakest.
- The confidence number is real information. A blurry, low-resolution screenshot gets a low number — trust it and recapture at full resolution instead of trusting the text.
- Size caps: 25 MB per screenshot (screenshots are rarely near it), 40 megapixels for PNG/JPEG, 50 per folder batch.
Frequently asked questions
How do I copy text from a screenshot?
Drop the screenshot on this page, click it in the file list, and press Extract text. The recognized text appears in a pane with a Copy button — one click and it is on your clipboard as ordinary selectable text. A Download .txt is available in the viewer’s status bar.
Does my screenshot get uploaded?
No. The OCR engine runs as WebAssembly in your browser; the screenshot is processed on your device and never transmitted. The only fetch is the one-time engine and language-model download — code, from this site’s own domain, cached afterwards. You can verify this in DevTools or by going offline after the first extraction.
Why is a screenshot easier for OCR than a photo?
Because the text was rendered by a computer: pixel-exact positions, a clean known font, perfect alignment, no lighting or perspective. Photos of printed pages have skew, curvature, shadows, and lens blur to fight; screenshots have none of it — which is why they usually extract essentially perfectly.
Can it read code from a screenshot?
Yes, and code’s monospaced alignment helps. Expect light cleanup around spacing and some symbol pairs (like l/1 or O/0 in fonts where they are near-identical). For error messages and identifiers, selecting a specific language is rarely needed — English is the right default for code.
Can I OCR many screenshots at once?
Yes. Put them in a zip, drop it, open the folder, and press the toolbar’s OCR button: every screenshot (up to 50) is read in one pass and the results download as a zip of .txt files. Each screenshot’s text also becomes searchable in the archive’s content search.
What if the text comes out garbled?
Usually the screenshot itself is the problem: a re-compressed copy from a chat app, tiny text, a low-contrast theme, or a non-integer zoom. Use the original file, crop to the region you need, and capture at full resolution — then re-extract. The confidence number tells you whether the engine struggled.
Is it free?
Yes — free, no account, no watermark, no install. The limits that exist (25 MB per image, 50 per batch) are about keeping your browser responsive, not about upselling.