FiTfreeimgtool.com
Guide · 5 min read

How to Scan a QR Code From a Screenshot

When the QR code is on the same screen as you, pointing your camera at it doesn't work. Here's the alternative.

FiT
The freeimgtool team
Updated June 5, 2026

The workflow

Screenshot the QR code, upload to our QR scanner, copy the decoded text or open the link.

The scanner uses the same decode library (jsQR / zxing-style finder pattern detection) that phone camera apps use, but runs it on a still image instead of a video feed. The result is identical: the encoded payload as text, ready to copy.

  • Take a screenshot that contains the QR code (any phone or desktop screenshot tool).
  • Open the QR Code Scanner.
  • Drop the screenshot.
  • Click Scan QR codes.
  • Copy the decoded text or open the link.

When you have multiple codes

If the image contains more than one QR code, the scanner lists each decoded value separately. Use Copy all to grab every result at once.

The detector finds each code's three corner finder patterns independently, so it can decode several codes from the same image without confusion. PDFs with a grid of QR codes (event check-in sheets, batch ticket exports) decode cleanly — convert each PDF page to an image first, then run the scan.

How QR decoding actually works

Every QR code has three large square finder patterns in three of its corners. The decoder scans the image looking for the characteristic 1:1:3:1:1 ratio of dark-light-dark-light-dark bands that those patterns produce when crossed by a scan line. Once it finds three of them, it knows the code's position, rotation, and approximate size.

After locating the code, the decoder samples each module (the smallest square unit) at known grid positions and reads it as a 1 or 0. The bit stream goes through Reed-Solomon error correction, which can recover up to 30% of the code even if it's partly damaged. That's why QR codes still work when partially obscured by logos, glare, or smudges.

Screenshots are easier to decode than camera photos because there's no perspective distortion or lens blur — every module is a clean pixel block. The only failure modes for screenshot decoding are very small codes (under about 80 px wide) or codes that have been re-saved as low-quality JPGs and got smeared into illegibility.

What QR codes can contain

URLs are the obvious case, but QR codes can encode anything that fits in their data budget (up to about 4296 alphanumeric characters or 2953 bytes for the largest version). Common payload types beyond URLs:

WiFi credentials in the format WIFI:S:network_name;T:WPA;P:password;; that mobile cameras recognise and offer to join automatically.

vCard contact records that the scanner offers to add to your address book.

Email mailto links pre-filled with subject and body.

Phone numbers as tel: links that dial immediately.

Calendar events in iCal format that import directly into your calendar.

Plain text for anything that doesn't fit a structured type.

When the scanner can't read the code

Codes printed on curved surfaces and photographed at an angle. The decoder needs the finder patterns to read as squares; perspective distortion warps them into trapezoids. Re-take the photo head-on or crop and de-skew first.

Heavily compressed JPGs of QR codes. JPEG's chroma subsampling smears the boundaries between black and white modules. If the code is below about 200 px wide and saved at JPG quality 50 or lower, the modules can blur into illegibility. The fix is to find a higher-resolution source or to use PNG.

Codes with custom logos or designs overlaid. Modern QR codes often have a brand logo in the center. Error correction handles small overlays (under about 20% of the code area) but heavily styled designer QR codes sometimes push past what the decoder can recover. Try a generic scanner first; if it fails, the code may need its original error-correction-aware decoder.

Inverted colors (white modules on dark background). Standard QR specification allows either polarity, but some decoders default to assuming dark modules on a light background. If your code is white on black, invert the image first with any image editor.

Real-world cases where screenshot scanning beats the camera

QR codes in PDFs. Event tickets, boarding passes, invoices, and tax documents often arrive as PDFs with embedded QR codes. Pointing a phone camera at your laptop screen produces glare, focus issues, and inevitable failed scans. Screenshotting and uploading is faster and more reliable.

QR codes in videos and webinars. A speaker shares a QR on a slide that flashes by in seconds. Pause, screenshot, scan — done. Trying to catch the live moment with your camera is a coordination problem you'll lose.

QR codes in chat messages. Someone messages you a QR code to join a chat group, claim a discount, or download an app. The image is already on your phone; there's no camera workflow that makes sense. Upload the image directly to the decoder.

Email signatures with QR contact cards. The QR contains a vCard with the sender's contact details. Decode it, parse the vCard, save the contact — one click each step. Faster than any camera-based workflow.

Tools and alternatives

On iPhone: long-press a QR code image in Photos and iOS offers to open the encoded link directly. Built in, no extra tool needed, works for codes already in your camera roll.

On Android: Google Lens recognises QR codes in saved images via the Photos app's Lens button. Same idea as iOS, just one extra tap.

Browser extensions like 'QR Code Reader' for Chrome let you right-click any image on a page and decode it. Useful when the QR is embedded in a webpage you're already viewing.

Command-line: zbarimg and the Python qrcode library decode QR codes from image files in scripts. Useful for batch processing or automated ticketing workflows where many codes need scanning at once.

Try it now: QR Code Scanner
Decode one or many QR codes from an image.
Open tool

Frequently asked questions

Does it work on phone screenshots?

Yes. Phone gallery screenshots upload directly from the camera roll.

Can it decode WiFi or vCard QR codes?

Yes — anything stored as text inside the QR. You may need to format the decoded result manually.

What about PDF files?

Extract the page as an image first (any PDF-to-image tool works), then drop the image into the scanner. The decoder doesn't read PDFs directly.

Is my data uploaded anywhere?

No. The decoding runs in the browser. The image and its decoded contents stay on your device.

Can it decode partly obscured codes?

Often yes, thanks to QR's built-in error correction. Codes can lose up to 30% of their area and still decode at the highest error correction level. Heavily damaged or partly missing codes are not recoverable.

Keep reading

All guides
How to Extract a Color Palette From an Image
Hero photo to brand palette in 30 seconds. Hex codes ready to paste.
Read guide
How to Spot Edited Images Online (Free Tools)
ELA and a few eyeball checks. Won't catch every fake, but catches the lazy ones.
Read guide