How to read a QR code from a photo
For the codes your phone camera will not cooperate with.
A QR code showed up in a screenshot someone sent me last week, a flyer for a market stall, cropped so tight the code sat right at the edge of the image. My phone camera looked at it, thought about it, and did nothing. Not an error, just a flat refusal to recognise the square of black and white pixels sitting an inch from the lens. I have had the same thing happen with a photo of a poster, and once with a QR code printed so small on a receipt that no amount of squinting or zooming convinced a camera app it was worth reading.
None of that means the code is broken. It usually means the camera is being asked to do two things at once, find the code and read it, and a photo that is already cropped, flat, and still gives it nothing to search for.
Read it from the photo directly in three steps
- Open the QR Code Reader on TidyToolbox.
- Upload the photo or screenshot with the QR code in it.
- Get back the link or text the code holds, ready to open or copy.
No camera scanning step, no app permission prompt, no pointing anything at anything. The photo already exists, so the tool just reads what is already there.
Have a QR code stuck in a photo right now?
Open the QR Code ReaderWhy a phone camera sometimes refuses
A live camera scanner is doing more work than it looks like. It is hunting for the three square corner markers that tell it where a QR code even is, focusing on a moving frame, and trying to do all of that in whatever light is available at that exact second. A photo that is already taken removes most of that problem. There is nothing to search for, nothing to focus, just one still image and a code that either decodes or it does not.
The situations where a live scan struggles the most are almost always the same ones: a screenshot cropped close to the code, a photo taken at an angle instead of straight on, a code printed small on a receipt or a business card, or one photographed under a reflection from glass or lamination. A decoder working from the photo has the same difficulty with a genuinely bad photo, since there is no getting around missing information, but it does not add the extra difficulty of trying to focus and search at the same time.
What actually decodes and what does not
A clear, well lit, straight on photo with the whole code visible reads reliably almost every time, whether it comes from a phone camera roll, a downloaded image, or a scan of a printed page. The codes that genuinely will not decode tend to have something wrong with the code itself rather than the photo: physical damage to a printed code, a design that has been stretched out of proportion, or so much colour and decoration added around the squares that the core pattern is no longer intact underneath it.
Everything runs in your own browser here too, so the photo never gets uploaded to a server to be read. It stays exactly where it was, on your own device, the whole time.
More guides on TidyToolbox
Looking for something else? Browse all tools on TidyToolbox.