The Four Error Correction Levels

Level L (Low) can recover from up to 7% damage — produces the simplest, densest QR code for a given data payload. Level M (Medium) recovers from 15% — the recommended default. Level Q (Quartile) recovers from 25% — good for industrial or outdoor applications. Level H (High) recovers from 30% — required when you want to overlay a logo inside the code.

How Reed-Solomon Error Correction Works

Reed-Solomon encoding adds redundant data that allows reconstruction of damaged portions. It's the same mathematical technique used in CDs and space communication. The encoder adds enough redundant codewords that the decoder can solve for missing values even with significant data loss.

Trade-offs: Size vs Resilience

Higher error correction levels produce more complex QR codes for identical payloads — more modules, higher module density, requiring larger physical size. Level H codes for a given URL are roughly 2x the pixel area of Level L codes.

Logo Overlays Require Level H

Embedding a logo in the center of a QR code intentionally destroys that portion of the data — relying on error correction to recover the masked information. Level H's 30% recovery capacity accommodates logos that cover up to about 30% of the code area. Always test logo-embedded codes extensively.

Key Takeaway

Use Level M for most applications, Level H when adding logo overlays. Higher correction levels improve damage resilience at the cost of larger, more complex codes.