QR Code Reader

Decode a code from an image, and see what it says before you follow it.

A phone camera scans a QR code and immediately offers to act on it — open the link, join the network, add the contact. This does the opposite: it shows you the content as text first. Useful when you have a screenshot rather than a physical code, when you want to check a link before opening it, or when you need to recover the details from a code someone sent you.

🔍

Click to select or drag & drop an image

PNG, JPG, WebP or GIF · a screenshot works · nothing uploaded

How it works

1

Add the image

Click, drag it in, or simply paste a screenshot with Ctrl+V.

2

The code is decoded locally

Nothing is uploaded — the image is read in the page.

3

Read before you act

WiFi, contact and email codes are broken out field by field.

Reading the code before it reads you

A QR code is unreadable to a human, which is exactly what makes it useful for sticking a long URL on a poster and exactly what makes it a phishing tool. A sticker placed over a legitimate code on a parking meter or a restaurant table sends people to a payment page they had no way of inspecting. Decoding to text first removes the guesswork.

What to look at once you can see it: the domain, and specifically the part immediately before the first single slash. paypal.com.secure-billing.net is not PayPal — the real domain is secure-billing.net. Shorteners hide this entirely, so a shortened link in a code on a physical surface deserves more suspicion than one in an email.

The same applies to the codes you did not choose to scan. Codes in unsolicited post, on flyers under a windscreen wiper, or stuck to public equipment are the ones worth checking here rather than with a camera that offers to open the link the moment it recognises it.

Why a code sometimes will not decode

The decoder needs the code to occupy a reasonable share of the image and to be roughly square-on. A photograph of a poster taken from across a room, where the code is 40 pixels wide, has no detail left to read. Cropping to the code before uploading fixes most failures.

Angle and curvature are the next cause. Codes have three large finder squares in the corners precisely so software can correct for perspective, but there are limits — a code on a curved bottle or photographed at a sharp angle distorts past what the correction handles. Blur is unrecoverable in a way that darkness is not, so a dim but sharp photo usually beats a bright blurry one.

Damage is the case error correction was designed for. Depending on the level chosen when the code was made, between 7 and 30 per cent of it can be missing and still decode, which is how codes survive a logo in the middle or a crease through a corner. Beyond that threshold there is nothing to recover, and no reader will do better than another.

Frequently Asked Questions

No, this reads an image file rather than a live camera feed. Take a photo or screenshot first, then drop it in — or paste it directly with Ctrl+V.
No. The decoding runs in your browser, so the image never leaves your device. That is what makes it safe to use on a code containing a WiFi password.
Any standard QR code. Web links, WiFi credentials, vCard contacts, email and phone codes are additionally broken out field by field so you can read them without parsing the raw text.
Usually the code is too small, too blurred or too angled in the image. Crop closer to the code and try again; a sharp dim photo decodes better than a bright blurred one.
Check the domain first, especially the part just before the first single slash. Codes on public surfaces are a known phishing route, and reading the text before acting is the point of this tool.