QR Code Decoder
Read a QR code from an uploaded image or your camera.
By opening this website or using its tools, you agree to our Terms and Privacy Policy.
or drag it here
PNG, JPG, or any image containing a QR code
Your file never leaves your browser during processing
How it works
To decode a QR code, upload an image containing one or switch to the camera tab and point it at the code — the content decodes instantly in your browser and nothing is ever uploaded.
Decoding a QR code is the reverse of generating one: a scanning library locates the code’s three corner squares in the image to figure out its position and orientation, then reads the grid of modules back into the bits it encodes. This tool runs that process locally using jsQR, the same open-source decoder library many browser-based scanners use, against either an uploaded image or a live camera frame.
The camera mode requests access to your device camera and processes video frames directly in the page — each frame is drawn to a hidden canvas, decoded, and immediately discarded, in a loop that stops automatically the moment a code is found. No frame is ever sent anywhere; the camera stream never leaves your device.
If decoding fails, it’s almost always one of: the image doesn’t contain a QR code, the code is too small, blurry, or low-contrast for the decoder to lock onto, or (for camera mode) the code isn’t yet centered and in focus in the frame.
FAQ
Is my image or camera feed uploaded anywhere?
No. Both the uploaded image and the live camera frames are processed entirely in your browser. The live network monitor on this page confirms nothing is sent.
Why does the camera need permission?
Reading a QR code live requires access to a video stream from your camera — the same permission any video-calling or scanning app needs. The stream is only used locally and is never recorded or transmitted.
Why isn’t my QR code being detected?
Make sure the whole code is visible, in focus, and reasonably well lit. Very small, damaged, or low-contrast codes can be difficult for any scanner to lock onto.