QR code decoder

The technical view of a QR code: the exact text, the raw bytes, and how the code was built. For developers, printers and the curious.

QR code decoderphoto

Drop a QR code image to decode

or paste a screenshot (Ctrl+V)a screenshot, a photo, or a picture someone sent you

Decoded in your browser with ZXing. Nothing is uploaded.

[01] How it works3 steps
  1. 01

    Drop the QR code

    Choose, drop or paste a clear image of the code. Several codes in one image are all decoded.

  2. 02

    Read the details

    See the format, version and size in modules, error correction level, length in characters and bytes, and the module size in pixels.

  3. 03

    Copy or save

    Copy the text or the hex bytes, or save everything as a JSON file for your notes or a bug report.

[02] Good to know2 notes

What the numbers mean

Version: QR codes come in 40 sizes. Version 1 is 21 × 21 modules (the small squares) and every version adds 4 modules per side, up to 177 × 177 for version 40. More data means a higher version and smaller modules at the same print size.

Error correction: L, M, Q or H. The code carries spare data so it still reads when part of it is dirty or covered: about 7%, 15%, 25% or 30% of it. Codes with a logo in the middle need Q or H.

Encoding: QR codes store bytes. Most text is UTF-8 today; some generators add an ECI marker that names the character set. If the text looks garbled, the hex view shows exactly what is stored.

Why the exact text matters

Scanner apps often tidy what they show: they open links, hide the WIFI: prefix, or turn a contact into a card. The decoder shows the text exactly as it is stored, including the invisible separator in GS1 codes (shown as <GS>), so you can check a code you made before it goes to print.

[03] Questions6

How do I decode a QR code from an image?

Drop the image on this page. The decoder reads it in your browser and shows the stored text, bytes and settings. Nothing is uploaded.

What is the error correction level of a QR code?

It is how much of the code can be damaged and still read: L about 7%, M about 15%, Q about 25%, H about 30%. Higher levels make the code denser for the same data.

How do I know the QR code version?

The decoder shows it, with the size in modules. You can also count: a version 1 code is 21 modules wide, version 2 is 25, and so on (17 + 4 × version).

Why is the text in my QR code garbled?

The code was probably made in one character set and read as another. Look at the raw bytes: UTF-8 accented letters take two bytes each. Re-make the code as UTF-8 text.

Can it decode Micro QR, Data Matrix and Aztec?

Yes. It also decodes Micro QR, rMQR, Data Matrix, Aztec, PDF417 and the common barcodes, with the details each format reports.

What is <GS> in the decoded text?

An invisible separator (ASCII 29) used in GS1 codes to mark where a variable-length field ends. It is part of the data, not an error.

Email copied