Read a QR code from any image. Free, private, runs in your browser.
100% private — your files never leave your browser. All processing happens locally on your device.
Drop, paste, or pick a QR-code image
PNG, JPG, or WebP. Decoded entirely in your browser.
You take a photo of a QR code on a poster, a receipt, a product label, or a screen. You want the data the code contains without downloading a separate scanning app. Drop the image here and the tool runs it through jsQR — a pure-JavaScript QR-code reader that works on plain image data. The detected payload is shown with a type label (URL, Wi-Fi, vCard, etc.) and a copy button. Everything stays in your browser.
Once the QR code is decoded, the tool inspects the payload prefix and labels it. `https://…` is a URL, `WIFI:…` is a Wi-Fi network credential, `BEGIN:VCARD` is a vCard contact, `MECARD:` is a MECARD contact, `mailto:` is an email, `smsto:`/`sms:` is an SMS, `tel:` is a phone number, `geo:` is a map location. Everything else is surfaced as plain text. The label helps you understand what the QR was meant to do — especially useful when the payload is long or opaque.
QR-code decoding needs a clear view of the code — sufficient resolution, moderate focus, limited perspective distortion. If the code is tiny in a wide photo, crop closer to just the code before dropping it here. If the photo is blurry, re-shoot with better light or steady the camera. Damage to the code (creases, stains, missing corners) sometimes prevents decoding — QR has error correction built in, but heavy damage exceeds its tolerance.
The image you drop is rendered onto a browser canvas and passed to the jsQR algorithm entirely inside your device. Nothing travels over the network. This matters because QR codes often contain sensitive information — Wi-Fi passwords, crypto-wallet addresses, ticket credentials — and a server-side decoder would be a privacy hazard. Use this tool to scan QR codes you received privately without trusting them to a third-party service.
PNG, JPG, WebP, GIF, and BMP. Drag from your file manager, paste directly from the clipboard, or tap 'Choose image' and pick one.
Yes — we detect and label URL, Wi-Fi, vCard, MECARD, email, SMS, tel, geo, and plain-text payloads. The raw decoded string is always available to copy.
It handles moderate blur and perspective. Very small QR codes in a wide shot, or heavily damaged codes, may fail — crop closer to the code or re-take the photo with better light.
No. The image is decoded entirely in your browser using the jsQR library. Nothing is transmitted to our servers, nothing is logged.