QR Code Picture Scanner

For codes that only exist as a photo in your gallery.

Camera access is requested only when you press the button. Frames are decoded on this device and discarded.

A picture scanner is the same decoder aimed at photographs rather than screenshots. Photos are harder: they have perspective distortion, uneven lighting and compression noise, all of which the decoder has to work through.

The page compensates by scaling the image before decoding rather than feeding the original. A photo straight from a phone camera is typically 4000 pixels wide, which is far more resolution than the decoder can use.

How to use it

  1. Upload the photo from your gallery.
  2. If it fails, crop tightly around the code and try again.
  3. Copy the result — the type is identified automatically.

Improving the odds on a difficult photo

Crop to the code plus a small margin. A code occupying 10% of a wide photo has very few pixels per module; the same code cropped to fill the frame has plenty. This single step fixes more failures than any decoder setting.

Avoid re-compressing the image before uploading. Screenshotting a photo to send it adds another round of JPEG artefacts, and each round degrades the module edges further.

Reviewed 2026-10-21. This tool runs entirely in your browser — no server, no account, and nothing you generate is stored.

Frequently asked questions

Can I scan a code from a printed photo?

Photograph the print as flat and evenly lit as possible, then upload. A direct scan of the print is better still if you have a flatbed scanner.

Does the photo get uploaded anywhere?

No. It is read locally and discarded when you close the tab.

Why do some photos decode and others do not?

Contrast, focus and the size of the code within the frame. A sharp, tightly cropped, evenly lit photo decodes; a blurry wide shot of a code in the corner usually will not.

Related tools

More from QR codes.