Scan a QR code
Read a QR code with your camera or from a picture you already have, and see what is inside it broken out field by field.
How to scan a QR code
- 1
Allow the camera or add a picture
The camera is the fast path on a phone. If there is no camera, permission was declined, or the code is sitting in a screenshot, switch the source to Image and pick the file instead.
- 2
Point at the code and hold still
Frames are read ten times a second and a result only counts once the same content comes back twice in a row, which keeps noise from turning into a false reading.
- 3
Read the content and copy it
A link shows its full address and its domain before you decide to open it. Wi-Fi credentials, contact cards, emails, SMS drafts and map pins are laid out field by field, ready to copy or save.
Nothing is auto-opened, ever
A QR code is an address you cannot read with your eyes, which is exactly why it is such a convenient way to send someone somewhere they did not intend to go. Stickers get placed over real codes on parking meters and restaurant tables for precisely this reason. So this scanner never navigates on its own: it shows you the full address and the domain it belongs to, and the button to open it needs your finger. The same applies to the picture path: nothing about a decoded code changes what the page does until you act on it.
Three attempts on a picture before giving up
A photo of a code is rarely as clean as the code itself. The first attempt reads the picture at its native size. If that fails, the image is scaled down to a thousand pixels on its long side, which often helps: a twelve-megapixel photo of a small code carries more camera noise than detail. The third attempt stretches the brightness range to full black and full white and then splits it at a threshold chosen by Otsu's method, which rescues codes photographed in dim light or through glass. Only after all three does the tool report that no code was found.
Inverted and low-light codes
Light modules on a dark background are decoded just as readily as the usual dark-on-light, because both polarities are attempted on every frame. Codes shown on another phone's screen work too, although moiré from the screen's own pixel grid sometimes means moving a little closer or further away.
The camera feed stays on your device
Frames are drawn to a canvas in this tab and decoded in this tab. No frame, no photo and no decoded content is uploaded, stored or logged, and there is no cloud recognition service involved. The camera is released the moment a code is confirmed, when you leave the page, and when you switch to another tab.
Frequently asked questions
Is the image sent to a server?
No. Both the camera path and the picture path run entirely in your browser. Nothing is uploaded, which is also why the scanner keeps working with the network disconnected once the page has loaded.
Why does the browser ask for camera access?
Reading a code from a live view needs the video stream, and browsers only hand that over with your explicit permission. If you decline, the tool switches you to the picture path rather than getting stuck.
Does it work without a camera?
Yes. Choose Image as the source and pick a PNG, JPEG, WebP, GIF or BMP up to 20 MB: a screenshot, a photo taken earlier, or a code someone sent you.
Why does a link not open by itself?
Because a QR code is an address you cannot read before scanning it, and codes get tampered with in public places. You see the full address and its domain, and the opening is your decision.
Can it read a code from another phone's screen?
Usually yes. Screens are bright and sharp, which helps. If the pattern shimmers, move a few centimetres closer or further away to break the interference between the two pixel grids.
What should I do with a blurry photo?
Try it anyway. The third attempt fixes a lot of poor exposure. If it still fails, crop the picture tightly around the code and try again: a code that fills the frame decodes far more reliably than one lost in a wide shot.
Is it safe to scan a code someone else made?
Scanning is safe here because nothing happens automatically. The risk with QR codes is what you do next, which is why the content is shown in full, the domain of any link is spelled out, and Wi-Fi passwords are displayed rather than silently joined.