QR Code Scanner / Decoder
Decode QR code images back to text.
Overview
The QR code scanner and decoder reads a QR image back into the text or URL it encodes. Upload a PNG, JPG, or paste a screenshot of a QR code, and the tool returns the decoded payload — a URL, a Wi-Fi configuration string, a vCard, an otpauth URI, or just plain text.
It is the right tool when you have an image but no phone camera handy, when you are auditing a suspicious QR on a flyer, or when you want to confirm what a QR generator just produced. A QR code decoder online is especially useful for OPSEC checks — knowing what a QR points to before scanning it on a phone that will auto-open the link.
How it works
QR codes (ISO/IEC 18004) are 2D matrix barcodes with three large finder squares in the corners, alignment patterns inside, and Reed-Solomon error correction encoded into the dark/light modules. Decoding proceeds in stages: locate the finder patterns to recover orientation and grid spacing, sample each module into a bitstream, parse the format and version information to learn the error-correction level and data mask, unmask the bits, and run Reed-Solomon decoding to recover any modules damaged by smudges or contrast loss. The cleaned bitstream is then parsed as mode-tagged segments (numeric, alphanumeric, byte, kanji) and the bytes are reassembled into the original payload.
Examples
Image: qr-of-url.png
Output: https://example.com/welcome
Image: wifi-qr.png
Output: WIFI:T:WPA;S:HomeNetwork;P:s3cret!;H:false;;
Image: otpauth-qr.png
Output: otpauth://totp/Acme:alice?secret=JBSWY3DPEHPK3PXP&issuer=Acme&digits=6&period=30
Image: broken-qr.png (heavily damaged)
Output: Decode failed — Reed-Solomon could not recover sufficient blocks
FAQ
Will it read damaged or skewed codes?
Reed-Solomon recovery handles up to 30% module damage at the highest error-correction level. Mild rotation, perspective skew, and partial occlusion usually decode fine; severe damage or low contrast can defeat it.
Does it scan webcam input?
This tool reads uploaded or pasted images. For live webcam scanning, use a dedicated camera app — the cryptography is the same, but the camera plumbing is browser-specific.
Why is my QR's content WIFI:T:WPA;...?
QR codes carry typed payloads using common prefixes. WIFI: is the de-facto Wi-Fi join string; BEGIN:VCARD is a contact; MATMSG: is an email draft; otpauth:// is a TOTP/HOTP secret. Apps recognise the prefix and offer matching actions.
Is decoding safe?
Decoding only reads bytes — it does not open URLs or contact servers. The risk is in what you do with the decoded payload afterwards, especially URLs and Wi-Fi join strings.