The picture is decoded locally in the browser tab and never uploaded anywhere - safe for boarding passes, wifi cards, tickets and payment codes.
QR Code Scanner
Find out what a QR code says from a screenshot or saved photo - choose the image and the decoded text appears in seconds, no app install.
Key features
- When the code holds a link, the tool shows the exact URL as a clickable link BEFORE you visit it - an easy way to check a suspicious QR code for phishing.
- Copy the decoded value with one click - handy for wifi passwords, serial numbers, coupon strings or long payment references.
- A full-resolution phone photo still decodes quickly, because the scanner scales large images down automatically before reading them.
- A short status line tracks the read as it happens - a decoding-in-progress note the moment you pick an image, so a large photo never looks like a frozen page while it is being processed.
- If no code is found, it says so and asks for a clearer or larger image instead of failing silently; on a slow or dropped connection where the decoder cannot finish loading, the tool tells you plainly and invites a reload, instead of leaving a blank result panel with no explanation.
What this scanner reads
There is no camera mode - this scanner only reads a saved image or screenshot you choose, and it decodes QR codes only, not 1D barcodes like EAN-13 or Code-128.
What happens after you choose an image
QR Code Scanner keeps its preview canvas hidden until you choose a file - there is nothing to see on the page until an image is picked. The moment a file is selected, the tool draws it onto that canvas, scales it down if it is larger than 1000 pixels on the long edge, and shows the scaled preview right above the result panel while the decoder finishes reading it. This load-then-preview-then-decode order is why a full-resolution phone photo never freezes the page: the preview you actually see is already the smaller, faster-to-process version of the picture, not the original file straight off the camera.
See also: QR code scanner vs. alternatives and the step-by-step guide.
Frequently Asked Questions
What does QR Code Scanner do?
Find out what a QR code says from a screenshot or saved photo - choose the image and the decoded text appears in seconds, no app install.
When should I reach for qr code scanner?
When the code contains a link, the tool shows the exact URL as a clickable link BEFORE you visit it - an easy way to check a suspicious QR code for phishing.
What complementary tools work well alongside qr code scanner?
Full-resolution phone photos work - large images are scaled down automatically before decoding, so even a 12MP photo decodes quickly.
Does QR Code Scanner only accept PNG or JPG images?
No - the file picker accepts any image format your browser can open, including GIF, WebP and BMP, because the picture is decoded through the browser's own image loader rather than a fixed list of allowed file types.
What happens if the decoded QR code contains a very long value?
QR Code Scanner wraps long decoded values, such as a full payment URL or a long serial number, across multiple lines in the result panel instead of cutting them off, so the entire value stays visible and ready to copy.
Can I scan a second image without reloading the page?
Yes - choosing a new image automatically clears the previous decoded value and status message, then decodes the new picture in the same result panel, so several screenshots can be checked back-to-back without refreshing the page.
Will every decoded QR code turn into a clickable link?
No - only a decoded value that starts with http:// or https:// becomes a clickable link. A bare address without that prefix, such as example.com, displays as plain text instead, so it stays readable even though it is not clickable.
Does QR Code Scanner need the internet for every scan?
QR Code Scanner only needs the network once per browser tab - the moment it fetches the small QR-reading library the first time you decode an image. That library then stays loaded for the rest of the visit, so every image after the first one is read completely offline, with no further requests sent anywhere. Paired with the fact that the picture itself is never uploaded, this means a second, third or tenth scan in the same tab keeps working even on a connection that drops right after that first successful decode finishes loading the library.