QR Scanner
Scan QR codes with your camera or from a picture, fully offline.
The video stream is processed on this page only and never leaves your device.
Decoded content
Decoding runs in your browser with jsQR. No network requests are made.
How to use it
- Click Start camera and allow the permission prompt; point the camera at a QR code.
- The decoded text appears in the result box as soon as a frame is recognized.
- Prefer a file? Choose a picture and the code is decoded once from the image.
- Click Copy to take the decoded text, and Stop camera when finished.
Common use cases
- Checking a code before scanning - see where a printed or posted QR code actually leads before opening it on your phone.
- Reading codes from screenshots - decode a QR code captured in an image instead of finding a second device.
- Extracting Wi-Fi or contact payloads - pull the raw text out of a code so you can inspect it.
Why it stays private
Frames are drawn to a canvas on this page and decoded by jsQR in your browser. The video stream is never recorded, stored, or transmitted, and decoding makes no network requests.
FAQ
Q: The camera does not start. What is wrong? A: Permission was denied or the browser has no camera access in this context - some browsers restrict camera access on insecure pages. The message says which happened; the picture file option still works.
Q: My picture contains a code but nothing is found. Why? A: Decoding needs reasonable contrast and a level shot. Blurry, very small, or heavily stylized codes (with logos covering the position markers) may fail. Try a sharper image or a closer crop.
Q: Does it scan barcodes other than QR? A: No - jsQR decodes QR codes specifically. Product barcodes such as EAN or Code128 need a different decoder.
Your data stays on this device
QR Scanner runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.
Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.