Reference tables
Recommended error correction level by use case
Use level M for most printed material and screens, Q for outdoor signage and anything handled or laminated, H whenever a logo covers part of the code, and L only when a dense payload needs the smallest possible symbol. The levels tolerate roughly 7%, 15%, 25% and 30% damage respectively.
The table
Unlike the capacity and error-correction codeword tables, this one is judgement, not specification — our recommendations, with the reasoning attached.
| Use case | Level | Why |
|---|---|---|
| On-screen only (email signatures, slide decks, websites) | L–M | Screens do not get scratched or dirty; damage tolerance buys nothing, small symbols help |
| Dense payloads (vCards, long URLs) | L–M | Higher levels push the version up and shrink modules — often the difference between scanning and not |
| General print (flyers, posters, business cards) | M | Covers minor print defects and wear at ~79% of level L capacity; the sensible default |
| Menus and laminated surfaces | M–Q | Handling, spills and glare add real damage over time |
| Payments (UPI, PIX, EPC) | M–Q | A failed scan at a till costs a sale; payloads are short so the capacity cost is painless |
| Any code with a logo | H | The logo is damage — a centre logo consumes 10–20% of your ~30% budget before the world adds more |
| Outdoor signage and stickers | Q–H | UV fading, rain, grime and abrasion accumulate; see outdoor durability |
| Industrial and asset labels | Q–H | Scuffing, chemicals and thermal-print defects; short payloads leave room for it |
| Engraved metal, laser-cut wood, embroidery | H | Low-fidelity media distort module edges; treat the medium itself as damage |
| WiFi cards and table cards | M | Indoor, short payload, occasional handling |
The rule the table encodes
Pick the level the environment needs, never "the highest, to be safe". Error correction is paid for in modules: a 200-character URL is version 7 at L but version 12 at H, and at the same printed size those version-12 modules are 31% smaller — often below the print floor. The full trade-off is worked through in error correction levels explained, and the exact redundancy behind each level is in the EC codeword table.
Two situations override the default:
- Logo present → H. Non-negotiable. UseQR's generator enforces this automatically: adding a logo without explicitly setting a level silently raises it to H.
- Payload near a version boundary → check both. Sometimes M and Q land on the same version, making Q free. The size calculator shows the version each level produces for your payload.
What no level protects
All four levels protect only the data region. The corner finder patterns, the quiet zone and the timing lines are structural — cover any of them and the code fails at H exactly as it fails at L. Placement rules matter more than the level; when in doubt, verify the finished artwork decodes.
FAQ
Which error correction level should I use for print?
M for most printed material. Move to Q when the surface will be handled, laminated or outdoors, and to H when a logo overlays the code. Stay at L–M for dense payloads like vCards.
Should I always use the highest error correction level?
No. Level H needs roughly 2.3 times the capacity of L for the same data, forcing a higher version with smaller modules at the same printed size. For dense codes that makes scanning worse, not better.
What error correction level for a QR code with a logo?
H, which tolerates about 30% damage. Keep the logo central and under about 20% of the code area so real-world wear still has budget left after the logo's deliberate damage.
Does error correction level matter on screens?
Barely. Screens do not accumulate damage, so L or M is enough — and the smaller symbol renders more crisply at limited pixel sizes.
Try it — free, no signup
Related
- QR error correction capacity table — data vs EC codewords — Data codewords versus error-correction codewords for every QR version and level, from 19 + 7 at version 1-L to 1,276 + 2,430 at version 40-H.
- QR code data capacity table — The maximum a QR code can hold is 7,089 digits, 4,296 uppercase alphanumeric characters, 2,953 bytes or 1,817 kanji — all at version 40, error-correction…
- QR code error correction levels explained — L, M, Q and H tolerate roughly 7%, 15%, 25% and 30% damage. Higher levels cost capacity, so the same payload needs a bigger version — which means smaller…
- Logo size limits by error-correction level — How big a QR code logo can be at levels L, M, Q and H — the tolerance each level buys, the practical coverage budget, and why the ceilings lie.