Why Is QR Code Scanner Not Scanning My QR Code?
Updated
Most failures on qrcodescan.in come down to one of three things: the browser never got camera permission, the QR code isn't clean enough for the decoder to read, or the browser doesn't support the web APIs the scanner relies on. Work through those in order — and if the camera path keeps failing, switch to uploading an image of the code, which uses a completely different decoding path and often just works.
Check camera permission first
The scanner is a progressive web application that reads the code in your browser, so it needs your explicit permission before the camera will open. If you dismissed the permission prompt once, the browser remembers that choice and won't ask again.
- Look for the blocked-camera icon in the address bar (usually a crossed-out camera or a lock icon). Click it and set Camera to Allow.
- On iPhone, camera access for Safari lives under Settings → Safari → Camera. If it's set to Deny or Ask, the page can't open the camera at all.
- On Android Chrome, check the site settings via the lock/tune icon in the address bar → Permissions → Camera.
- After changing the setting, reload the page. Permission changes don't apply to an already-loaded tab.
If you're on a desktop without a webcam, or the camera is physically covered or in use by another app (video call, another tab), the scanner has nothing to read from. Close the other app or use the upload route instead.
Make the QR code readable
A decoder needs contrast and completeness. Common reasons a code won't register:
- Cropped or partial code — all four corner squares (the position markers) must be visible.
- Glare or shadow across the code, especially on screens or glossy paper.
- Too far away or too small in the frame. Fill a good portion of the viewfinder.
- Low contrast — light gray on white, or a colored code on a busy background.
- Damaged or folded print, or a code displayed at a steep angle.
- Screen brightness too low when scanning a code off another phone's display.
Hold steady for a second or two. Many decoders need a few frames before they lock on, so moving the phone away immediately can look like a failure when it was about to succeed.
Switch to uploading an image
If the camera won't cooperate, the upload option sidesteps the camera entirely — no permission needed, and it works on desktops without a webcam. Take a screenshot or photo of the QR code, then upload that file to the scanner. Because the image is static and already framed, blur and distance problems often disappear.
This is also the better path when the code is on the same device you're scanning with, since you can't point a phone's camera at its own screen.
Confirm your browser supports it
The scanner depends on browser APIs for camera access and image decoding. Very old browsers, some in-app browsers (the ones that open when you tap a link inside a social or messaging app), and locked-down corporate browsers may not expose them. If nothing happens when you tap to start scanning:
- Open the page in a current version of Chrome, Safari, Edge, or Firefox instead of an in-app browser.
- Try a different browser to isolate whether it's the browser or the code.
- On desktop, make sure you're on a secure (HTTPS) connection — camera access is generally blocked on insecure pages.
Quick diagnosis
| Symptom | Likely cause | Fix |
|---|---|---|
| No camera prompt appears | Permission previously denied | Reset camera permission for the site, reload |
| Prompt appears, camera stays black | Camera in use or covered | Close other camera apps, uncover lens |
| Camera opens but never locks on | Code blurry, angled, or low contrast | Steady the phone, improve lighting, move closer |
| Nothing happens on tap | Unsupported or in-app browser | Open in a current standalone browser |
| Works for others, not you | Desktop with no webcam | Use the image upload option |
What to expect when it works
Once the code is read, the decoded content appears in the browser — the decoding happens locally, so the code image itself isn't uploaded to a server. That matters if you're scanning something private: the scan stays on your device, but you should still treat whatever the code points to (a URL, a payment link, a login page) with the same caution you'd apply to any unknown link.