QR Code Scanner
Scan a QR code from a photo, screenshot, or saved image. Upload the file and the decoded content — a website link, WiFi network, contact card, payment request, or plain text — appears instantly. Everything runs in your browser; the image is never uploaded to a server.
Last updated: July 3, 2026
Only scan QR codes from sources you trust. This tool decodes the payload but does not check whether a linked website is safe — review any URL before opening it.
Related shortcuts
Find this tool useful? Support the project to keep it free!
Buy me a coffeeWhat is QR Code Scanner?
A QR code scanner reads the pattern in a QR code image and converts it back into the original data — a URL, WiFi credentials, a contact card, a payment request, or plain text. Most people scan QR codes with a phone camera, but that only works for codes in front of you right now. This tool solves a different, common problem: you already have a QR code as an image — a screenshot, a downloaded file, or a photo — and need to know what it contains without printing it out or pointing a camera at a screen.
Decoding happens with the jsQR library, running entirely in your browser using the Canvas API. If the QR code does not decode from the original image — common with blurry photos, low-contrast scans, or small screenshots — the tool automatically retries with a short sequence of image enhancements: contrast stretching, 2x upscaling, and sharpening. This is not true deblurring (recovering detail that genuinely is not in the image is not something a lightweight browser tool can do), but it recovers a meaningful number of QR codes that fail to decode from the raw file.
How to Use QR Code Scanner
Drop a QR code image into the upload area, or click to browse for a file
Accepted formats: PNG, JPG, WebP, or GIF — a screenshot works fine
The tool decodes the QR code automatically — no button to press
If the raw image does not decode, the tool retries with contrast and sharpness enhancement automatically
Review the decoded content, then copy the raw text or open the link directly
Common Use Cases
- Check what a QR code links to before scanning it with your phone, especially on flyers, packaging, or unsolicited mail
- Decode a QR code from a screenshot when the original code is no longer on screen
- Read a WiFi QR code from a photo when you cannot use your phone camera directly on the router or sign
- Recover a contact card, coupon, or event QR code from a saved image or downloaded file
- Verify a QR code you generated actually encodes the correct data before printing it in bulk
- Read a blurry or low-contrast QR code photo that a phone camera keeps failing to scan
Example Input and Output
Scanning a WiFi QR code from an uploaded photo:
File: cafe-wifi-qr-photo.jpg
Condition: slightly blurry phone photo, low contrastDetected: WiFi network
Network name (SSID): CafeGuest
Security: WPA
Password: welcome2024
Decoded using: Contrast-enhanced pass (2 attempts)How This Tool Works
The uploaded image is drawn onto an off-screen Canvas element and read as pixel data. That pixel data is passed to the jsQR decoding library, which locates and decodes the QR pattern. If the first attempt fails, the tool reprocesses the same pixel data — grayscale contrast stretching, 2x canvas upscaling, and a 3x3 unsharp-mask sharpen — and retries decoding after each step, stopping as soon as one attempt succeeds. The decoded text is then pattern-matched against known QR payload formats (WIFI:, vCard, mailto:, tel:, sms:, geo:, upi://, VEVENT) to produce a readable summary.
Technical Stack
Privacy First
Your image is processed entirely in your browser using the Canvas API and the jsQR decoding library. It is never uploaded to, transmitted to, or stored on our servers.
Why some codes still fail to decode
A QR code needs enough intact, high-contrast modules to decode — no amount of software enhancement can recover data that genuinely is not present in the image. If a scan fails after all enhancement passes, try a sharper photo, better lighting, less glare, or cropping the image closer to just the QR code.
Before opening a decoded link
This tool shows you exactly what a QR code contains before you visit it. Always review a decoded URL for anything suspicious — QR codes are commonly used in phishing attempts, especially on posters, parking meters, and unsolicited mail.

