Point your camera at a QR code to decode it live in your browser. Works on desktop (webcam) and mobile (rear camera). No app download required. All processing runs in your browser.
QR codes decoded locally using jsQR. All processing runs in your browser.
For image uploads, the tool draws your image onto a hidden canvas and passes the pixel data to jsQR, a QR decoder, which runs locally in your browser. For webcam scanning, each video frame is decoded the same way in a requestAnimationFrame loop. All processing runs in your browser.
All decoding happens locally in your browser tab, including the webcam stream, which is processed entirely within the browser tab. You can audit this yourselfin your browser's DevTools Network tab.
For creating new codes after decoding one, try the QR code generator. To work with 1D barcodes instead, use the barcode generator. For decoding Base64 strings that show up in scanned URLs, see Base64.
The browser requires explicit permission to access your camera via the getUserMedia API. The video stream is processed locally in your browser. Our servers are not involved at any point.
Click the camera icon in your browser's address bar and allow access. In Chrome, go to Settings → Privacy and security → Site settings → Camera.
The tool requests the rear-facing camera on mobile devices. If your front camera opens, check your browser's camera selection settings.
The scanner analyses approximately 10 frames per second. Hold the QR code still and ensure good lighting for best results.