QR Reader
Scan a QR code with your camera, an image or the clipboard and see exactly what is inside it. It shows you the destination — it never opens it for you.
Drop a QR image
PNG, JPG, WebP, screenshots — or press Ctrl+V anywhere on this page
Whatever the code contains will be shown here, in full, before anything happens.
How it works
Bring the code in
Point your camera at it, drop a screenshot, or just paste from the clipboard.
It gets decoded here
The decoder runs in your browser. The image never leaves the machine.
Read before you act
You see the full destination, the fields inside it, and any red flags.
Then decide
Copy a field, save the contact, or open the link — only if you choose to.
Shows, never redirects
A QR sticker can point anywhere at all. This reader prints the destination in full and waits for you to decide.
Flags the classic tricks
Lookalike domains, mixed alphabets, link shorteners, raw IP addresses, embedded credentials and installer links.
100% local
The decoder runs in your browser. No image, no scan and no link ever reaches a server.
Camera, file or clipboard
Scan live with the rear camera, drop a screenshot in, or just press Ctrl+V anywhere on the page.
Reads the structure
WiFi, vCard, MeCard, email, SMS, phone, map and calendar payloads are broken out into labelled fields.
Nothing is stored
The scan list lives in the tab and disappears the moment you close it. There is no history on any server.
See what a QR code says before you obey it
Your phone's camera reads a QR code and offers to open it, usually showing a shortened domain and nothing else. That is exactly the gap the sticker scams on parking meters and restaurant tables rely on. This reader does the opposite: it decodes the code, writes out the entire destination, breaks structured payloads into named fields, and points out the tricks used to make a bad link look ordinary.
The whole thing runs in the tab
The decoder is a small JavaScript library that runs on your machine. Camera frames are sampled in memory and thrown away, images you drop are read locally, and nothing — not the picture, not the decoded text, not the link — is ever sent anywhere.
A QR scanner for people who would rather look first
A code stuck over the real one on a parking meter, a payment QR in an unexpected invoice, a poster in the street, a business card you were handed: all of these are worth reading before opening. Point the camera or drop the photo in and you get the destination in plain text.
There is no upload endpoint and no analytics on the content. WiFi passwords found inside a code are masked until you ask to see them, and the session list is held in the tab's memory only, so closing it is enough to erase everything.
Frequently asked questions
QDoes it open the link automatically?+
Never. That is the entire point of the tool. You get the full URL, the domain on its own line, and a list of anything questionable about it. Opening it takes a deliberate click, and if the link looks dangerous that button is restyled as a warning.
QIs my image or my camera feed uploaded anywhere?+
No. The decoder is a JavaScript library running in your browser. Camera frames are sampled into a canvas in memory and discarded immediately, and images you drop in are read with the browser's own file API. Nothing is transmitted.
QWhat is QR phishing?+
A printed code that leads somewhere hostile, often a sticker placed over a legitimate one on a parking meter, a menu or a payment terminal. It works because a camera app shows you almost nothing before opening the page. Reading the code here first closes that gap.
QWhy does it warn me about a shortened link?+
Because a shortener hides the real destination behind a redirect, so what you can see is not where you end up. We deliberately do not resolve it for you: doing so would contact that server on your behalf and tell it you scanned the code.
QWhat is a punycode or mixed-alphabet domain?+
Some letters look identical across alphabets — a Cyrillic а renders exactly like a Latin a. A domain built from that renders as a name you recognise while belonging to somebody else. Punycode (xn--) is how such a name is encoded, so we surface both.
QIt cannot read my photo. What can I do?+
Get closer so the code fills more of the frame, hold the phone square to it rather than at an angle, and avoid glare from a screen or lamination. The tool already retries with progressively larger crops, but a blurry or heavily skewed photo has too little detail left to recover.
QWhich kinds of QR content does it understand?+
Links, plain text, WiFi credentials, vCard and MeCard contacts, email, SMS, phone numbers, map coordinates and calendar events. Structured ones are unfolded into labelled fields you can copy one at a time, and a contact can be saved straight to a .vcf file.