When you have a QR code as an image, not a physical code
Most QR scanner apps require you to point your camera at a physical code. This tool is different: it decodes QR codes from image files — screenshots, photos, PDFs exported as images, or any JPG/PNG you received by email or chat.
Common situations where this matters:
- Someone sent you a QR code image and you're on desktop — no camera to scan it
- You want to verify what URL a QR code on a flyer or poster links to before printing
- You received a QR code in a PDF or email attachment
- You took a screenshot of a QR code on your phone screen and want the URL on desktop
- You're testing a QR code you generated and want to confirm the encoded data
Just upload the image file — JPG, PNG, WebP, or a screenshot from any operating system — and the tool extracts the content in under a second. No camera permission needed. No app to install.
How QR decoding works in a browser
This tool decodes QR codes from image files — JPEG, PNG, WebP, or a screenshot. Your image is drawn to an HTML Canvas element, the pixel data is extracted via getImageData(), and a JavaScript QR decoder (the jsQR library, MIT licensed) performs the matrix recognition and Reed-Solomon error correction entirely in your browser. No upload, no server, no camera required.
This is useful for: decoding a QR code in a screenshot before printing to verify the URL is correct, extracting the URL from a QR code image you received, or checking what data a generated QR encodes without picking up your phone.
Why a QR code fails to decode — and how to fix it
- Image too smallThe decoder needs the QR code modules (individual squares) to be at least 2–3 pixels across. A QR code that appears 40×40 pixels in the image is too small for reliable software decoding. Crop and upscale the image so the QR fills at least 150×150 pixels.
- Low contrastColored QR codes (non-black-on-white) or codes with busy backgrounds reduce contrast below the decoder's threshold. If the code is white on a light-colored background, or uses a dark color on a dark image, decoding will fail. Standard black-on-white achieves near-100% decode rates.
- Damaged or obscured finder patternsThe three square corner markers (finder patterns) are essential for orientation. If any are cropped, covered by a logo, or obscured by image compression artifacts, decoding fails. The error correction modules protect data modules but not the finder patterns — those must be intact.
- JPEG compression artifactsHeavy JPEG compression around a QR code blurs module edges. If your image is a JPEG, try saving it as PNG (lossless) before uploading, or use a screenshot tool that captures at higher quality.
