Skip to content
Screenshot2Text

Screenshot2Text

Extract Text from Image

To extract text from an image, drop the image on this page. The text appears in the box below, ready to edit, copy, or save as a .txt file. OCR runs in your browser, and we don't upload your image or store the text.

It reads a screenshot, a photo of a printed page, or any picture that still has letters in it. PNG, JPG, WebP, GIF, and BMP files work, and PDFs are read page by page. Use it to move an error message, a line of terminal output, or a paragraph into a ticket, an email, or a notes app. There is no account and nothing to install. Pick a language first if the source is not English, and drop one image or several. The converter on the homepage is the same tool.

Printed type and clear screenshots extract best: error dialogs, terminal output, settings panels, and documents photographed straight on in decent light. Crop out interface you do not need. Skew, blur, and very small type reduce accuracy, and handwriting and decorative fonts often come back incomplete. The limits section below has our own numbers.

Or open the main free tool

OCR runs in the browser. We don't upload your file for OCR.

Drop a screenshot, image, or PDF here

PNG, JPG, WEBP, GIF, BMP, or PDF · several files at once · tap to browse

Or paste a screenshot with Ctrl+V or ⌘V

Nothing to copy yet

A real run: text out of an error dialog

Here is one real example. The screenshot below is ui03-error, one of the 22 test screenshots from our OCR accuracy test. It is a 427 by 233 pixel PNG of 22 KB. We dropped it on the tool and copied the result exactly as it came back.

While it worked, the status line under the drop zone read Enhancing image, then Reading text (pass 1/3), (pass 2/3) and (pass 3/3), then Double-checking numbers, then Done. From drop to finished text took 1.28 seconds (median of three runs).

Error dialog titled Connection failed, saying the server at api.example.com on port 443 could not be reached, with error code ERR_CONNECTION_TIMED_OUT, a request ID, and Retry and Details buttons
Input: ui03-error, a test screenshot from our accuracy set.
Raw OCR output
Connection failed

Unable to reach the server at api.example.com (port 443).
Error code: ERR_CONNECTION_TIMED_OUT
Check your network settings or try again in a few minutes.
If the problem continues, contact support and include this ID:
Request ID: 7f3a-91c2-44de-be8e

Retry Details

One character is wrong. The request ID in the screenshot ends in b08e, and the output says be8e. The button labels Retry and Details came through as the last line. That matches the run 3 score for this image in the run 3 CSV: 1 wrong character out of 280, a character error rate of 0.36%. IDs, codes, and digits are where a quick check against the screenshot pays off.

How we timed it: we ran the current site code (commit 968e282) as a local production build and drove it with headless Chromium 153 on an 8-core Linux machine, with the recognition model already loaded. The clock starts when the tool shows it is busy and stops when it shows it is done, the same way our OCR accuracy test times each image.

What it can't read well

On October 8, 2026 we took one clean paragraph screenshot from our test set, para01-article, which reads with no errors, and changed it one way at a time. Each version went through the live site once. All scores and images are in the limits check CSV. One image per row, so these are examples, not averages.

Character error rate for one paragraph screenshot after a single change, read once on October 8, 2026
Version of the screenshotCharacter error rate
Clean screenshot, no change0.00%
Shrunk to 40%, capital letters about 4.8 pixels tall0.84%
Shrunk to 30%, capital letters about 3.6 pixels tall44.47%
Set in Lobster, a script display font2.71%
Set in Caveat, a handwriting-style font0.84%
Blurred, radius 2 pixels47.81%
Heavy tilt, about 40 degrees38.41%

Small text holds up until it gets very small. The tool enlarges small text before it reads it, so the 40% version still came back with only 4 wrong characters. At 30% most words were lost. If you can, take the screenshot at a larger zoom.

Stylized fonts read better than we expected, but not cleanly. In Lobster, 11 of 84 words came back wrong. t was read as l ("inlernel", "lax"), f as J ("Jree"), and s as a ("alate"). Caveat, a neat font that looks like handwriting, had 4 wrong characters. Neither is real handwriting. That is not in our test set, so we have no number for it.

Blur and steep angles are the hard cases. A 2 pixel blur turned almost half the characters into errors, and a photo-style tilt of about 40 degrees broke most words.

Our accuracy test showed two more weak spots. In run 3, dark mode raised the error rate on app screens from 0.41% to 3.87%. Digits also get swapped in code and terminal output: "108 kB" came back as "168 kB". Check IDs, codes, and numbers before you paste them.

FAQ

What does extract text from image mean here?
It means optical character recognition on a picture you already have. Screenshot2Text reads the pixels in your browser with open-source Tesseract and turns visible letters into a string you can select, edit, and copy. Drop a PNG, JPG, WebP, GIF, BMP, or PDF on this page. Nothing is uploaded for that read, and closing the tab clears the working copy in memory.
Which images extract most cleanly?
Sharp screenshots and well-lit photos of printed or interface text. Error dialogs, terminal output, settings panels, and documents photographed straight-on usually come back cleanest. Crop to the region you need before you drop the file. Handwriting, low contrast, glare, tilt, and stylized fonts often return gaps. A tighter, higher-resolution crop helps more than running the same blurry file again.
Is this extract-text tool free?
Yes, and it stays free. Every feature works without an account, a trial, or a payment. Ads on the page cover the hosting. Drop one image, several images, or a PDF. Reading happens on your device, so extra files cost us nothing to meter.
Do I need software or an account?
No install and no account. The reader is this page in your browser. Pick a language if the source is not English, drop the file, then edit and copy. The same converter also lives on the homepage if you would rather start there.
What happens when recognition finds nothing?
You get a plain note that no readable text came back, not a fake success bar. Try a tighter crop, a sharper source, or the matching language in the picker. Printed type still beats handwriting. The guides on better screenshot OCR and messy OCR walk through the usual fixes.