QR ERROR CORRECTION GUIDE

How QR error correction works for physical prints

QR error correction adds redundancy so a decoder can recover from some missing or damaged data. That is useful for real objects, but higher correction levels can also produce a denser matrix. In 3D printing, robustness and physical feature size must be considered together.

Open related tool Browse all guides
QUICK TAKEAWAYS

What matters most

  • L, M, Q and H provide increasing error-correction capacity.
  • Typical approximate recovery figures are around 7%, 15%, 25% and 30% of codewords respectively, but they are not a promise that the same percentage of visible area can be destroyed.
  • Higher correction can increase matrix density for the same payload.
  • For physical prints, choose correction level together with module size and final object size.

What error correction actually does

QR Codes use Reed–Solomon error correction. Extra codewords are added so a decoder can reconstruct data when some symbols are unreadable or damaged. The familiar levels are L, M, Q and H, from lower to higher redundancy.

The often-quoted recovery percentages are useful approximations, but they should not be interpreted as “you can cover exactly 30% of the QR and it will always scan.” Damage location matters because finder patterns, timing patterns, format information and other structural regions are not interchangeable with ordinary data modules.

The four QR error-correction levels

The exact matrix version depends on payload length, character mode and encoding as well as error correction. Always inspect the generated matrix instead of assuming that a particular level will fit your target object.

Level Approx. codeword recovery Physical-print trade-off
L ~7% Lower redundancy; can keep matrix smaller
M ~15% Balanced general-purpose starting point
Q ~25% More redundancy; may increase density
H ~30% Highest standard redundancy; can require more modules

Why higher correction can hurt a tiny 3D print

Suppose a payload fits in a lower QR version at M but needs a larger matrix at H. If you keep the physical width unchanged, every module becomes smaller. The higher redundancy can protect against damage, yet the smaller physical features may print less cleanly.

That is the central physical trade-off: redundancy protects the encoded information, while module size protects the geometry that the camera must recognize. A robust design needs both.

When higher error correction can be useful

For a clean indoor sign, M can be a reasonable starting point. For a rough environment, Q or H may be worthwhile if you also enlarge the physical QR to preserve module width. These are design choices, not absolute rules.

  • Objects exposed to scratches, dirt or wear.
  • Labels where part of the code may be temporarily obstructed.
  • Decorative physical objects where minor surface defects are expected.
  • Applications where you can increase the QR size enough to keep modules comfortably printable.

A better way to choose the level

  1. Generate the exact final payload at a moderate correction level.
  2. Record matrix size and physical module width.
  3. Try a higher correction level and see whether the matrix version grows.
  4. If it grows, increase the physical size to restore the module target.
  5. Print and test the object under the expected wear and lighting conditions.
HOW TO VERIFY THIS GUIDE

A reproducible check before you print

Keep the QR payload fixed and change one variable at a time. Watch physical module size and ScanSafe warnings, export the same model to your slicer and inspect the layer preview. The final check is still to scan the finished physical object with a real camera.

Read the editorial and technical methodology
REFERENCES

Primary sources and technical documentation

These references support QR requirements, file formats or general printing constraints. ModuQR-specific FDM targets are labeled as heuristics rather than requirements from these sources.

  1. ISO/IEC 18004:2024 — QR Code symbology specification — ISO
  2. Error correction feature — DENSO WAVE / QRcode.com
  3. Information capacity and versions of QR Code — DENSO WAVE / QRcode.com
APPLY THE GUIDE

Compare error correction against physical module size

Change the QR error-correction level in ModuQR and watch matrix density and physical module size before choosing the final model dimensions.

Create a QR code as a real 3D object
FREQUENTLY ASKED QUESTIONS

Questions about this topic

What QR error-correction level is best for 3D printing?

There is no universal best level. M is a balanced starting point, while Q or H can add robustness if the physical QR is enlarged enough to preserve printable module size.

Does level H mean I can damage 30% of a QR code?

No. The commonly cited ~30% refers to approximate codeword recovery capability, not a guarantee that any 30% of the visible area can be removed. Damage location and QR structure matter.

Why did my QR get denser when I increased error correction?

Higher error correction adds redundancy. If the current QR version no longer has enough capacity, the generator can move to a larger matrix with more modules.