A worked example, rendered from real sample data. Sign in to run the tool on your own input.
███████ █ █ ██ ███████
█ █ ██ ██ █ █ █
█ ███ █ █ █ ██ █ ███ █
█ ███ █ █ █ ██ █ ███ █
█ ███ █ ██ █ █ ███ █
█ █ █ █ █
███████ █ █ █ █ █ ███████
█ █ █
█ ██████ █ ██ █ █ ███
█ █ █ █ █████
█ █ █ ███ █ ██ █
█████ █ ██ ██ ████
█ ███ ██ █ █ ██ █
█ ████ ███ █████ █ █
███ ████ █ ██ ██ ██ █████
█ ████ █ ███ ██ █ ██ █
█ ███ ████ █ █████ ██
██ ███ █ █ ██
███████ █ ██ █ █ █ █
█ █ █ █ ███ █ ██
█ ███ █ █ █ █████████ ██
█ ███ █ █ █ ██ ██ ██
█ ███ █ █ █ █ █ █████
█ █ █ █ ███ ███
███████ ███ ██ ███ █ █═══ What this tool did ═══
✓ A QR module grid was found in your input and decoded here, bit by bit: format information, data mask, Reed-Solomon blocks and payload segments. This page runs entirely on the server that rendered it and makes no outbound network calls.
✗ No image file was scanned and no camera was used. Only the grid of modules you pasted was read.
═══ Symbol ═══
Symbol: version 2 (25×25 modules)
Error correction level: M (15% of the codewords recoverable)
Data mask pattern: 6
✓ Format information is bit-exact in at least one of its two copies.
Codewords: 44 total in 1 block — 28 data + 16 Reed-Solomon
✓ All 1 Reed-Solomon block pass the syndrome check, so the payload below is exactly what was encoded.
─── Segments ───
byte: 21 characters
═══ Decoded payload ═══
https://devtools.surf
Payload type: URL (the overwhelmingly common case — a scanner will offer to open it)
Scheme: https
Host: devtools.surf
═══ Encoding cost of this payload ═══
UTF-8 length: 21 bytes
ECC level Smallest version Modules Byte capacity
--------- ---------------- ------- -------------
L (7%) version 2 25×25 32 bytes
M (15%) version 2 25×25 26 bytes
Q (25%) version 3 29×29 32 bytes
H (30%) version 3 29×29 24 bytes
ℹ Higher error correction costs modules. H recovers 30% of the codewords but needs a bigger symbol for the same text — which matters when the code has to survive a printed label or a sticker.
═══ Commands that read a real QR image ═══
zbarimg --quiet --raw qr.png
zbarimg --quiet -Sbinary qr.png > payload.bin
…
Decode a pasted QR module grid for real — version, ECC level, mask, Reed-Solomon check and payload — or explain a QR payload string. Part of the DevTools Surf developer suite. Browse more tools in the Images collection.