Skip to content
qrcodegenerator.in
SCANABILITY

Error correction levels L, M, Q and H: what each costs, and when to raise it

A higher level lets a code survive more damage and makes it denser for the same data. Choosing it is a trade between those two, and the numbers for both are in the standard.

WHAT THIS ARTICLE DOES AND DOES NOT TELL YOUL, M, Q and H recover roughly 7%, 15%, 25% and 30% of a code’s codewords (ISO/IEC 18004).Higher levels need more modules for the same payload — a 22-character link is version 2 at M and version 3 at H.M suits most print; raise it for logos, rough surfaces and outdoor use.No measured survival rates are given; the percentages are the standard’s definitions.

What the levels recover

A QR code’s data is stored as codewords with Reed–Solomon error correction added, so a decoder can rebuild the message when some codewords are unreadable. ISO/IEC 18004 defines four levels — L, M, Q and H — that recover roughly 7%, 15%, 25% and 30% of the codewords respectively.

What a higher level costs

Redundancy takes space. For the same payload, a higher level needs a larger version — more modules — which means smaller modules at the same printed width. A 22-character short link, encoded in byte mode, fits version 2 at levels L and M and version 3 at Q and H. A 30-character one needs version 2 at L, 3 at M and Q, and 4 at H.

LevelVersionModules acrossOne module at 25 mm
L2250.76 mm
M2250.76 mm
Q3290.68 mm
H3290.68 mm

Byte-mode capacities from ISO/IEC 18004: version 2 holds 32 at L and 26 at M; version 3 holds 32 at Q and 24 at H. Checked against this site’s encoder.

When to choose each

L — screens and clean, protected print where every module is needed for size. M — the default for most print: menus, posters, flyers. Q — a logo in the centre, textured or uneven surfaces, codes that will be handled. H — a large logo, outdoor or industrial use, anything that will be scuffed, folded or weathered.

Raise the level, then print a little larger to keep the module size. Raising the level and shrinking the code spends the gain twice.

A higher level buys durability with module size. Pay for it in millimetres, not in reliability.

What this article is not

The recovery percentages are the standard’s level definitions, not measured survival rates for a kind of damage.

Capacities are for byte mode; numeric and alphanumeric payloads fit more.

See the version and module size for your code

Enter a payload and a level, and the calculator shows the version, the module count and the module size.

Check a QR codeCalculate a print size