Scan QR Code From Image

Point it at a file instead of a camera: PNG, JPG, WebP, GIF.

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

This is the page for codes that exist as pixels: a screenshot in a chat, a code embedded in a slide, a scanned document, a photo of a receipt. The camera is not involved at all, so no permission prompt appears.

Large images are downscaled to 1600 pixels on the long edge before decoding, and if that fails the decoder retries at smaller scales. The multi-scale attempt exists because the right size for a decoder is not always the original resolution.

How to use it

  1. Drag the image onto the page, or click to browse.
  2. If it is a screenshot, Ctrl+V works too.
  3. Copy the decoded content — large images may take a second on first decode.

Why a full-resolution photo can fail where a smaller one works

Decoders binarise the image and look for module edges. At very high resolution with JPEG compression, the transitions between dark and light modules carry ringing artefacts that blur the edge. Downscaling averages those artefacts away and restores a clean gradient.

The same effect explains why screenshots decode more reliably than photos: no compression noise around the edges, no perspective skew, no uneven lighting. When you control the image, a screenshot is always the better input.

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

Frequently asked questions

Which image formats work?

PNG, JPEG, WebP, GIF and BMP — anything the browser can decode. HEIC from an iPhone needs converting to JPEG first.

Can it read a code that is upside down or mirrored?

Upside down, yes — QR codes carry orientation markers. Mirrored codes can be decoded by some engines; if yours fails, flip the image horizontally and retry.

Why does it say no code found when I can see one?

The code may be too small relative to the image, blurred, or cropped through a finder pattern. Crop tightly around the code and retry — that alone fixes most failures.

Related tools

More from QR codes.