How to Scan a QR Code from a Screenshot or Picture (No Camera) [2026]
Someone sent you a QR code via WhatsApp. It is sitting in your camera roll. You cannot scan it with your own phone camera because the code is already on your phone. This guide covers every method to read a QR code from a screenshot or image file β with a specific focus on the browser-based approach that requires no camera, no upload, and no app installation.

Table of Contents
The core problem: a QR code on your own screen
Your phone's camera is designed to see the world in front of it. It cannot see what is displayed on its own screen. This creates a specific frustration that millions of people encounter: you receive a QR code as an image β via WhatsApp, email, or any messaging app β and you need to act on it, but you cannot scan what is already on your phone.
The workarounds people try and why they often fail:
- Scanning the phone screen with a second phone. Works if you have a second phone, but requires awkward positioning and often results in screen glare or reflection causing scan failures. Not always available.
- Forwarding the image to another device. Send the QR code image via email or AirDrop to a computer, then scan your computer screen with your phone. Adds multiple steps and delays.
- Screenshotting and using the built-in iOS/Android QR recognition. Works sometimes on iOS 16+ (Live Text in Photos), but only for photos taken with the camera β not always for screenshots or chat-received images. Inconsistent.
The direct solution β one that works consistently on any device, requires no second phone, and adds zero steps β is a browser-based QR code reader that accepts an image file as input. You open the reader on the same device that has the image, upload the file, and the QR code is decoded in your browser in under a second.
Common situations: WhatsApp, email, PDF, second screen
QR code received via WhatsApp or Telegram
This is the single most common scenario. A contact shares a QR code for an event, a login, a payment, or a Wi-Fi network. The QR code arrives in the chat as an image. You tap on it, it fills the screen, but you cannot scan your own screen with your own camera. Save the image to your gallery, open the browser-based reader, upload it, done.
QR code in an email attachment or inline image
Booking confirmations, event tickets, two-factor authentication setup emails, and loyalty program registrations frequently include QR codes. On desktop, you are reading the email on the same computer β you cannot point your phone at a second monitor with the QR code on it (or it is inconvenient). On mobile, the QR code is in the email on your phone. In both cases, saving the image and uploading it to the reader is faster than any other approach.
QR code embedded in a PDF document
Boarding passes, event tickets, invoices, contracts, and government documents often contain QR codes. On desktop, take a screenshot of the PDF page at a high zoom level. On mobile, use your screen recording / screenshot function while viewing the PDF at full zoom. Upload the screenshot to the reader to decode the QR code without printing anything.
QR code displayed on another screen or monitor
Authentication flows for desktop apps (WhatsApp Web, Telegram Desktop, two-factor authentication setup) often display a QR code on your computer screen that you are supposed to scan with your phone. But sometimes you want to inspect what the QR code contains β or you want to copy the URL it encodes. Take a screenshot of the QR code, upload it to the reader, and see the encoded data directly.
QR code in a photo you took earlier
You photographed a poster, product packaging, or business card containing a QR code but did not scan it at the time. Later, you want to retrieve the URL or contact details. Upload the photo to the reader β as long as the QR code is in focus and reasonably large in the image, jsQR will decode it.
All methods compared: browser, iOS, Android, desktop app
| Method | Works on | Privacy | Install required | Notes |
|---|---|---|---|---|
| Browser-based reader (SammaPix) | iPhone, Android, Mac, Windows, Linux | Complete. No upload. jsQR local only. | No. Browser only. | Fastest cross-platform method. Works for any image format. |
| iOS Live Text (Photos app) | iPhone / iPad (iOS 16+) | Apple processes detection on-device for photos; not all image types supported. | No. Built into iOS. | Inconsistent for screenshots. Works well for camera roll photos. |
| Google Lens (Android / iOS) | Android (built-in), iOS (Google app) | Image sent to Google servers for analysis. | No (Android). Google app on iOS. | Good detection. Privacy concern for sensitive QR codes (Wi-Fi, auth). |
| Server-based online decoder | Any device with a browser | Low. Image uploaded to third-party server. Decoded content may be logged. | No. Browser only. | Works for non-sensitive QR codes. Avoid for Wi-Fi or authentication codes. |
| Second phone camera | Any phone with a camera | Complete. No data leaves the phones. | No. | Inconvenient. Glare and reflection often cause failures. Not always available. |
The browser method: fastest, private, no install
The SammaPix QR Code Reader uses jsQR β an open-source JavaScript library that implements the ISO/IEC 18004 QR code decoding specification. It runs entirely inside your browser tab, processing the image you provide without sending anything to a server.
Why this is the best default method for scanning a QR code from an image:
- Works on the same device. You do not need a second phone. You open the reader on the same device that has the QR code image. This is the key advantage over camera-based scanning.
- No app installation. Open the URL in any browser. On iPhone, on Android, on Mac, on Windows. No download from the App Store or Play Store.
- Private by design. jsQR processes pixel data locally. Your image and its decoded content stay on your device. This matters especially for Wi-Fi passwords and authentication codes.
- No signup, no account, no expiry. Open it and use it. No email address, no registration.
- Supports all common image formats. PNG, JPEG, WebP, GIF (first frame), AVIF β whatever format your screenshot or saved image is in.
How no-upload processing works
When you provide an image in a web browser, the browser can read the file directly using the FileReader API or an <input type="file"> element. The file data is loaded into browser memory β it is never automatically transmitted over the network.
jsQR then processes the image data in the same browser session:
- The image is decoded into raw pixel data using the browser's Canvas API.
- jsQR scans the pixel array to detect finder patterns and locate the QR code.
- The module grid is sampled, error correction is applied, and the data payload is decoded.
- The decoded text string is displayed in the browser UI.
To verify this yourself: open browser DevTools (F12 on desktop), go to the Network tab, clear the log, then upload your image and decode the QR code. The Network tab will show no request carrying your image data. The only network activity is the initial page load β JavaScript, CSS, and fonts. The image and decoded result do not appear in any outgoing request.
Scan your QR code image right now β no upload, no camera
Upload a screenshot, WhatsApp image, or any photo. jsQR decodes the QR code locally. Copy or open the result. Free, no account.
Open QR Code Reader, FreeStep by step: scan a QR code from an image
- Get the image file. If the QR code is in a chat message (WhatsApp, Telegram, iMessage), long-press or tap and hold the image and choose Save or Download to save it to your gallery or downloads folder. If it is a screenshot you have already taken, it is already saved.
- Open sammapix.com/tools/qr-code-reader. Open this URL in Chrome, Safari, Firefox, or Edge β on the same device that has the image. No account or signup required.
- Upload the image. Tap or click the upload area. On mobile, your gallery opens β select the QR code image. On desktop, your file picker opens β navigate to and select the image file. The image is read by your browser locally.
- Read the decoded content. The QR code content appears immediately: a URL, plain text, Wi-Fi credentials, vCard data, or any other encoded information. Copy the text or open the URL using the provided buttons.
Platform guides: iPhone, Android, Mac, Windows
iPhone (iOS)
If the QR code arrived via iMessage or WhatsApp: long-press the image in the conversation, tap Save. Open Safari, go to sammapix.com/tools/qr-code-reader, tap the upload area, tap Photo Library, select the saved image. Done.
For a QR code on screen (email, PDF, website): take a screenshot with the side button and volume up button simultaneously. Open Safari, go to sammapix.com/tools/qr-code-reader, upload the screenshot from Photos.
Android
If the QR code arrived via WhatsApp or Telegram: tap and hold the image, tap Save. Open Chrome or Firefox, go to sammapix.com/tools/qr-code-reader, tap the upload area, select the saved image from Downloads or Gallery. Done.
For a QR code on screen: press power + volume down to take a screenshot. Open Chrome, go to sammapix.com/tools/qr-code-reader, upload the screenshot.
Mac
For a QR code on screen: press Cmd+Shift+4, drag to select the area around the QR code. A PNG screenshot saves to your Desktop. Open Chrome or Safari, go to sammapix.com/tools/qr-code-reader, drag the PNG into the upload area or click to select. Decoded in seconds.
Windows
Press Windows+Shift+S to open the Snipping Tool. Drag to capture the area around the QR code. The image is copied to clipboard and saved to the Snipping Tool app (or you can paste into Paint and save as PNG). Open Edge or Chrome, go to sammapix.com/tools/qr-code-reader, upload the PNG.
Tips for better QR code detection from images
- Crop tightly around the QR code. If the QR code is a small part of a large screenshot, crop the image to show mainly the QR code before uploading. This gives jsQR more pixels per module and improves detection reliability significantly.
- Use PNG format when possible. PNG is lossless β no compression artifacts. JPEG compression can blur the module edges of a QR code, especially at low quality settings. Screenshots on iPhone and Mac save as PNG by default, which is ideal.
- Make sure all three finder patterns are visible. The three large squares in the top-left, top-right, and bottom-left corners of the QR code must be fully visible and unobstructed. If any corner is cut off, jsQR cannot locate the code.
- Take the screenshot with higher zoom first. If the QR code is small on screen β embedded in a long document or webpage β zoom in on it before taking the screenshot. More pixels per module means more reliable detection.
- Straighten the image if it was photographed at an angle. jsQR handles moderate perspective distortion, but extreme angles cause failures. Use a photo editor to perspective-correct an angled photo before uploading.
Works on iPhone, Android, Mac, and Windows
Upload any screenshot or image. jsQR decodes the QR code in your browser with no upload, no account, no camera needed.
Related tools
- QR Code Reader: the tool covered in this guide. Decodes QR codes from images or live camera. No upload, no camera needed, no account.
- QR Code Reader Online β full guide: covers how jsQR works, every data type a QR code can contain, and the difference between a reader and a scanner app. Recommended reading if you want to understand the technical details.
- QR Code Generator: generate a QR code for any URL, text, Wi-Fi network, email, or vCard in your browser. Download PNG or SVG. No upload, no account, no expiry. See free QR code generator guide.
- Image to Base64: convert a QR code image to a Base64 Data URI for embedding directly in HTML or CSS β no external file reference. Useful when distributing QR codes in self-contained web pages or emails.
- HEIC Converter: convert iPhone HEIC photos to JPEG or PNG before uploading to the QR code reader. Some older browser versions may not display HEIC images from the camera roll β convert to JPEG first for guaranteed compatibility.
All QR tools, all in your browser β no account for any
Read QR codes from images, generate QR codes, convert HEIC to JPEG β without uploading anything anywhere. No server. No signup. No watermark.
FAQ
How do I scan a QR code that was sent to me via WhatsApp?
When someone sends you a QR code via WhatsApp, the code arrives as an image in your chat. You cannot scan your own WhatsApp screen with the same phone's camera. The fastest method: save the image to your camera roll or gallery, then open sammapix.com/tools/qr-code-reader in your mobile browser, upload the saved image, and the QR code is decoded instantly in your browser. The image is processed locally β it is not uploaded to any server. This works for Telegram, iMessage, Signal, and any other messaging app that delivers the QR code as an image file.
How do I read a QR code from a screenshot on my computer?
Take a screenshot of the screen showing the QR code. On Mac, press Cmd+Shift+4 and drag to select the area (or Cmd+Shift+3 for the full screen). On Windows, press PrintScreen for the full screen or Windows+Shift+S for the Snipping Tool to select an area. Save the screenshot as a PNG file. Open sammapix.com/tools/qr-code-reader in your browser, upload the screenshot, and the QR code content is decoded immediately. No camera is needed because the QR code already exists as a pixel image on your computer.
Can I scan a QR code that is in a PDF?
Yes, with one extra step. Open the PDF and navigate to the page containing the QR code. Take a screenshot of that page (or use your PDF viewer's built-in export-as-image feature if available). Upload the screenshot to sammapix.com/tools/qr-code-reader. jsQR will detect and decode the QR code from the image. If the QR code is very small in the document, try zooming into the PDF viewer first so the QR code occupies a larger area of the screen, then take the screenshot.
Why does my phone camera not work to scan a QR code on my own screen?
Your phone's camera is a physical lens β it cannot see what is displayed on the same phone's screen because the camera faces outward. This is the most common reason people search for a QR code reader: the QR code was sent to their phone (via WhatsApp, email, a downloaded image), and they now need to decode it without using the camera. A browser-based QR code reader accepts the image as a file input rather than a camera feed, which solves this exact problem. Open the reader on the same device that has the QR code image, upload the file, and the decoding happens entirely in your browser.
Is it safe to use an online QR code reader for Wi-Fi QR codes?
Only if the reader processes the image locally without uploading it. A Wi-Fi QR code encodes your network name (SSID) and password in the QR pattern. If you upload the image to a server-based decoder, the server reads and may log your Wi-Fi password. The SammaPix QR Code Reader uses jsQR, which runs entirely in your browser. The image file is read by your browser's local JavaScript engine β no network request carries the image or the decoded Wi-Fi password. You can verify this with browser DevTools (F12, Network tab) β you will see no outgoing request carrying your image data.
What should I do if the QR code in my screenshot is not being detected?
The most common fix is to crop the screenshot to focus on the QR code before uploading. Use the Photos app on iPhone, Google Photos on Android, the built-in Preview on Mac, or the Photos app on Windows to crop. A tighter crop gives jsQR more pixels per module to work with, making detection more reliable. Other fixes: increase the zoom level in the source app before taking the screenshot (more pixels per QR module), use PNG format rather than JPEG for the screenshot (avoids compression artifacts), and make sure the three finder pattern squares in the corners of the QR code are fully visible and not cut off.
Can I use this method on my iPhone without installing an app?
Yes. On iPhone, save the QR code image to your Photos library. Open Safari (or Chrome on iOS) and go to sammapix.com/tools/qr-code-reader. Tap the upload area and select the image from your Photos library. jsQR decodes the QR code in Safari's JavaScript engine β no app installation, no upload, no account. The result appears immediately. This also works on Android using Chrome or Firefox.
Are there alternatives built into iPhone and Android for reading QR codes from images?
iPhone (iOS 16+): Open the Photos app, tap the image containing the QR code, and tap the Live Text button (the icon with lines and a frame). If iOS detects a QR code, it will offer to open the URL. This works for clear, well-lit QR code photos. Android: Google Lens, available in the Google app and many Android camera apps, can read QR codes from images in your gallery. Open Google Lens, tap the image icon to select from gallery, and Lens will detect and decode the QR code. These built-in methods are convenient but process images on Apple's or Google's servers respectively. The browser-based SammaPix reader is the private alternative that processes everything locally.
What does the decoded QR code look like for a Wi-Fi network?
A Wi-Fi QR code encodes a string in the WIFI: format: WIFI:T:WPA;S:YourNetworkName;P:YourPassword;; β where T is the security type (WPA, WEP, or nopass), S is the SSID (network name), and P is the password. The SammaPix QR Code Reader displays this raw string, from which you can read the network name and password directly. This is useful for retrieving the password from a Wi-Fi QR code if you have forgotten the original password but still have the QR code image.