How to Copy Text from a Screenshot (OCR on Images)
You see text in an image you’d like to copy — a quote from a screenshot, a phone number on a photo of a business card, an address on a sign you photographed, a recipe ingredient list on a snapshot. The text is right there, but you can’t select it. Right-click does nothing. The mouse doesn’t grab characters.
That’s because the image is, well, an image. The “text” is just pixels arranged to look like letters. To turn it back into selectable text, you run it through OCR (Optical Character Recognition).
The fastest way
Use the Image to Text tool. Drop in your image, click run, get back the text as a .txt file or copyable on-screen output.
The flow:
- Open the Image to Text tool
- Drag in your image (JPG, PNG, WebP, GIF, BMP all work)
- Choose the language of the text in the image (English by default, or pick from Spanish, French, German, Italian, Portuguese, Chinese, Japanese, Russian)
- Click “Run OCR”
- Wait a few seconds while the text is recognized
- Copy the resulting text or download as a
.txtfile
Everything runs in your browser. The image is never uploaded.
What works well
Screenshots of websites or apps: text rendered by computers is the easiest case. OCR accuracy is typically 99%+ on screen-rendered text in standard fonts.
Phone photos of printed material in good light: receipts, signs, book pages, business cards. Accuracy is typically 95-99% with reasonable photo quality.
Scans of typed documents: high-quality scans at 300 DPI or more. Near-perfect recognition.
Photos of menus, posters, packaging: usually works well unless the design uses very stylized fonts.
What works poorly
Handwriting: OCR engines are trained on printed text. Cursive and casual handwriting produce unreliable results. Block printing (clear, separated letters) sometimes works.
Stylized or decorative fonts: tattoo-style fonts, blackletter, very thin display fonts, novelty fonts. Recognition struggles.
Low-resolution images: under ~150 pixels per inch of source content. Phone screenshots are usually fine; thumbnails or heavily-compressed images may not be.
Text at extreme angles: more than ~15 degrees of tilt confuses recognition. Crop or rotate first.
Multi-column layouts: text in two columns may extract with the columns interleaved (line 1 of column A, line 1 of column B, line 2 of column A, etc.). Single-column layouts work cleanly.
Photos with lots of background: a screenshot of a webpage has clear text-on-background contrast. A photo of a building with a sign has signs mixed in with sky, buildings, and other visual noise. Layout analysis sometimes mis-identifies text regions.
Common use cases
Quote a screenshot. You want to share something a website said but don’t want to retype it. OCR the screenshot, copy the text, paste it elsewhere.
Extract phone numbers and addresses. Photo of a business card or printed contact info → OCR → paste the digits into your phone or address book.
Translate text in an image. Screenshot a sign in a foreign language → OCR (pick the source language) → paste the recognized text into Google Translate.
Build searchable archives. Old photos of documents, magazines, books — OCR makes them text-searchable for later reference.
Capture text from videos. Pause the video, take a screenshot, OCR the visible text.
Capture text from books. Photograph a page of a physical book you’re reading → OCR → paste into your notes app. (Note: respect copyright; this is for personal use, not redistribution.)
Get text out of received images. Someone sent you a screenshot or photo containing important info you need to act on. OCR converts it to copyable form.
Why pick the right language
Modern OCR uses neural networks trained separately for each language. The English model knows English letter shapes and common letter combinations. The Spanish model knows the same plus the accented characters (á, é, í, ó, ú, ñ). The Japanese model knows hiragana, katakana, and kanji.
Running the wrong language model produces garbage:
- English model on Spanish text → “ñ” misread as “n,” “á” misread as “a,” accent marks lost
- English model on Japanese text → complete failure (none of the characters exist in English)
- Spanish model on French text → accent marks may shift (
èrecognized asé)
The Image to Text tool supports:
- English (default)
- Spanish (spa)
- French (fra)
- German (deu)
- Italian (ita)
- Portuguese (por)
- Chinese Simplified (chi_sim)
- Japanese (jpn)
- Russian (rus)
Pick the dominant language of the text. For mixed-language images, OCR struggles regardless — typically you’d run twice with different languages and merge the results.
For multi-page documents
If you’ve got multiple images to OCR (pages of a scanned book, multiple screenshots), use the PDF OCR tool instead:
- First, combine your images into a PDF with Images to PDF
- Then run the combined PDF through PDF OCR
The result is either a searchable PDF (looks like the original but text is selectable) or a plain .txt file with all the recognized text from all pages.
Improving accuracy
If your OCR output has too many errors, try these:
1. Crop tighter. Use Image Cropper to remove background and surrounding non-text content before OCR. Layout analysis becomes more reliable.
2. Rotate if tilted. A skewed image confuses character recognition. Some scanner apps and phone scan modes auto-rotate; for manual rotation, use any image editor.
3. Increase contrast. Faded text or low-contrast images are harder to OCR. Adjust contrast in any image editor before running OCR.
4. Reshoot if it’s a photo. Better lighting, no shadows, parallel to the page, in-focus text. See our Photos for OCR tips guide for full details.
5. Try larger resolution. Small images don’t have enough pixels per character. Re-screenshot at higher resolution or re-photograph closer.
After OCR — common cleanup
OCR output usually needs minor cleanup:
- Stray characters: occasional misrecognized letters. Quick find-and-replace cleans these up.
- Line breaks in the middle of paragraphs: some images have visual line wrapping that OCR preserves. Replace double-newlines with paragraph breaks, single newlines with spaces.
- Missing spaces: tightly-set text sometimes loses spacing between words. Manual cleanup or a script.
- Numbers vs letters: “0” vs “O,” “1” vs “l,” “5” vs “S” are commonly confused. Spot-check anything numerical.
For straightforward text in standard fonts, cleanup is minimal — usually just verifying the output matches what you see in the image.
Privacy
OCR runs entirely in your browser:
- Image is read with the File API
- Tesseract.js (compiled to WebAssembly) recognizes text locally
- The language model is downloaded once and cached
- Output is generated in browser memory
Nothing about your image touches a server. Important for screenshots that may contain personal info (banking, messaging, private documents), receipts with credit card numbers, business cards with personal contacts, anything sensitive.
Most “free” online OCR services upload your image to their server. Browser-based OCR sidesteps that entirely.
TL;DR
- Text in an image → copyable text → Image to Text
- Multiple images / a PDF → PDF OCR
- Pick the right language for accurate recognition
- Best results: screenshots, printed text, clear photos
- Worst results: handwriting, decorative fonts, low-res images
- Browser-based, fully private