Free QR Code Reader
Drop an image with a QR code and see exactly what is inside it before you act on it. Nothing is uploaded: the image is decoded on your own device.
Drop your QR code image here
Or click to choose a file. PNG, JPG, WebP, GIF or BMP, up to 10 MB.
You can also paste a screenshot with Ctrl+V
The image is decoded in your browser. It is never uploaded and no link opens on its own.
How to use it
Add the image
Drag the file into the box, click to browse, or simply paste a screenshot with Ctrl+V. PNG, JPG, WebP, GIF and BMP are supported.
Read the content
We detect what kind of QR code it is and show the destination in full, including the real domain when it is a link.
Decide before opening
Nothing opens on its own. Check the warnings, and open the link only if you recognise the domain and trust the source.
Real examples
When reading a code before scanning it is worth the extra step.
Codes stuck in public places
Parking meters, restaurant tables and posters are the favourite target for stickers placed on top of the real code.
Emails and invoices
Payment codes arriving by email are a common fraud route. Read the destination before you pay anything.
Recovering your own codes
You have an old printed code and no longer remember what it points to. Photograph it and find out.
Best practices
- Read the domain from right to left. In secure-bank.example.com the real site is example.com, not the bank.
- Be wary of shortened links. They hide the real destination until you have already opened it.
- Never enter passwords or card details on a site you reached from a QR code you did not expect.
- In public places, run a finger over the code. A sticker placed on top of the original has a noticeable edge.
Limitations
- Very blurry photos, extreme angles or damaged codes may not decode. A straight, well lit shot works best.
- We check the shape of the destination, not its reputation. A clean looking domain can still be malicious.
- Only images are supported. There is no live camera scanning in this tool.
Privacy
The image never leaves your browser. It is decoded locally with JavaScript and discarded when you reset or close the tab. We do not upload it, do not store it and do not record what the code contained.