Skip to content

QR code scanner

Decode a QR code from a screenshot, a photo or your camera, and see exactly what it contains before you act on it. Nothing is uploaded.

Drop a screenshot or photo here

When this is useful

Your phone already scans QR codes perfectly well when the code is on a physical thing in front of you. This page is for the cases where that doesn’t work:

  • A code already on your screen. In an email, a PDF, a web page or a slide — you can’t point a phone at the screen you’re reading. Screenshot it and drop it here.
  • A code you don’t trust. See where it actually goes before your browser goes there.
  • Checking your own work. Confirm a code you generated or received encodes exactly what you expected, character for character.
  • Reading a non-link code. Wi-Fi credentials, a contact card or plain text, shown as raw text rather than acted on.

QR codes and phishing

A QR code is opaque by design. You cannot look at one and tell where it leads, which is exactly what makes it useful for a poster and useful for a scam. The pattern has become common enough to have a name — “quishing” — and the usual forms are a sticker placed over the real code on a parking meter or restaurant table, or a printed code in a letter or email that leads to a convincing fake login page.

Worth knowing:

  • Check the domain, not the page. A copied login page is trivial to make. The address bar is what tells you the truth, and this tool shows you that address before you commit to visiting it.
  • Look at physical codes closely. A sticker applied over an original is the most common attack in the wild, and it is usually visible if you look for an edge or a slight misalignment.
  • Be suspicious of urgency. A code arriving with a warning about an account closing, an unpaid fine or a parcel held at customs deserves more skepticism than one on a menu.
  • Never enter credentials on a page you reached by scanning. If a code leads somewhere asking you to log in, navigate to that site yourself instead.

Making codes, not just reading them

If you got here wanting to create a code rather than decode one, the main generator covers links, Wi-Fi, contact cards, email, SMS, calendar events and plain text — all built in your browser, with no account and no expiry.

Common questions

Is my image uploaded to your server?

No. The image is read by your browser and decoded on your device using JavaScript. It never leaves your computer, which is the main reason to use this rather than a site that asks you to upload the photo.

Why doesn't it just open the link?

Because that would defeat the point. If you already trusted the code you would have scanned it with your phone. Showing you the address first is the entire reason to decode a code you're unsure about.

How do I scan a QR code that's on my screen?

Take a screenshot and drop it here. This is the common case a phone camera can't handle — a code in an email, a PDF, or on the same screen you'd need to point the camera at.

It says no QR code found. What now?

Crop the image closer to the code and try again. Decoding needs the whole code in frame, reasonably in focus, and not too distorted by angle. Very low-resolution screenshots and photos taken at a steep angle are the usual failures.