QR codes support four error correction levels — L, M, Q, and H — that recover roughly 7%, 15%, 25%, and 30% of damaged data respectively, as defined in ISO/IEC 18004.
Higher levels add more Reed-Solomon redundancy bytes, so the code stays scannable even if it is smudged, torn, or partially covered by a logo. The trade-off is capacity: raising the level from L to H reduces how much data fits in the same version, or forces a larger, denser symbol.
Level M is the practical default for most digital and clean printed uses. Choose Q or H for outdoor signage, stickers, or any layout where you plan to overlay a brand mark on the center of the code.