QR Code Scanner

Upload an image containing a QR code to decode its contents

📷
Drag & drop an image here
or

For best results, ensure the QR code is clear, well-lit, and takes up a good portion of the image.

Need to create QR codes too?

Generate custom QR codes for your business, website, or personal use

About QR code scanning

This tool reads QR codes from images you upload - useful when you've got a screenshot, a photo, or a printed QR you can't scan with a phone. It works on standard QR codes whether they encode a URL, contact card (vCard), Wi-Fi credentials, plain text, or any other QR-encoded data.

Everything happens in your browser - your image isn't sent to a server, and nothing is stored. We use a cascade of three decoders (the browser's native BarcodeDetector, ZXing, and jsQR) so codes that one library struggles with usually get caught by another.

If you need to create QR codes (rather than scan them), use the free Hovercode generator.

Frequently asked questions

What types of QR codes can it scan?
Any standard QR code. Whatever's encoded - URL, vCard, Wi-Fi credentials, plain text, app store deep link - it gets decoded and shown to you exactly as it was written.
Is my image uploaded to your servers?
No. The decoding runs entirely in your browser - your image never leaves your device.
Does it handle rotated or angled QR codes?
Yes. The scanner tries multiple rotations and uses adaptive thresholding, so codes shot from an angle or with awkward lighting usually still decode.
Can it find a QR embedded in a larger image?
Often, yes - the underlying ZXing library is good at locating QRs in busy backgrounds (posters, screenshots, packaging). For best results, crop closer to the QR before uploading.
Why won't my QR scan?
The most common causes: the image is too low-resolution (compressed screenshots, small thumbnails), the QR is partially cropped or covered, or contrast is too low (e.g., dark grey on dark grey). Try a higher-resolution version, crop tighter to the code, or boost contrast in any image editor.