QR Code Error Correction Explained (Reed–Solomon, Simply)
How QR codes survive damage, glare, and logo overlays without breaking — and why PXLA QR uses error-correction level Q by default.
Updated July 11, 2026
Every QR code has some amount of built-in redundancy that lets it stay readable even when part of it is damaged, obscured, or printed poorly. That redundancy is called error correction, and it's arguably the single most important reason QR codes work reliably in the real world instead of only in a perfect lab scan. This article explains how it works and what the four standard levels actually mean.
The core idea: Reed–Solomon codes
QR codes use a mathematical error-correction method called Reed–Solomon coding — the same family of technique used in CDs, DVDs, and satellite communication, all situations where data has to survive real-world physical damage or signal noise. The idea, at a conceptual level: instead of just encoding your data once, the encoder computes extra "codewords" mathematically derived from that data, and stores those alongside it. If some of the original data becomes unreadable, a decoder can use the extra codewords to reconstruct exactly what was lost — similar in spirit to how a well-designed backup lets you recover a file even if part of the original is corrupted.
This is why a QR code with a coffee stain on one corner, or a logo stamped over the middle, can often still scan perfectly — the missing modules aren't gone information, they're recoverable information, as long as the damage doesn't exceed the error-correction level's threshold.
The four error-correction levels
The QR standard defines four levels, each trading data capacity for damage tolerance:
- L (Low) — approximately 7% of the code can be damaged and still recover. Maximizes how much data fits in a given grid size, but leaves the least margin for print imperfections.
- M (Medium) — approximately 15% recoverable. A reasonable general-purpose default for clean digital-to-digital use.
- Q (Quartile) — approximately 25% recoverable. PXLA QR's default for every code it generates, because the tool is built primarily for printing, where real-world damage tolerance matters more than squeezing out maximum data capacity.
- H (High) — approximately 30% recoverable. The highest level, typically reserved for QR codes that will have a logo or design element deliberately overlaid on part of the code.
Why PXLA QR defaults to Q, not the maximum
H offers more recoverable area, but it also means more error-correction data has to be encoded alongside your URL, which increases the grid's version (more, smaller modules) for the same input. Since PXLA QR doesn't support logo overlays in V1 — see Can I Add a Logo? — level Q gives strong real-world print resilience without inflating code density unnecessarily.
What this means in practice
A PXLA QR code generated at level Q can lose roughly a quarter of its modules — to a scratch, a fold crease, print smudging, a corner torn off, or camera glare washing out part of the frame — and still decode correctly. That doesn't mean damage is free: past that threshold, the code becomes unreadable, and the failure isn't gradual or "partially working" — either the Reed–Solomon math can reconstruct the original data, or it can't. This is part of why the printing recommendations elsewhere in this Help Center (adequate size, a clean quiet zone, decent contrast) matter: they keep the amount of real-world degradation well under that 25% ceiling.
Does higher error correction mean a bigger, denser code?
For the same input data, yes — a higher error-correction level requires more redundant codewords, which can push the encoder into a larger grid version to fit everything. This is a genuine trade-off, not a free upgrade, which is why the standard offers four levels instead of always using the maximum. PXLA QR's choice of level Q balances this: meaningfully more resilient than the M default many general-purpose tools use, without the density cost of jumping straight to H.
Can I choose a different error-correction level in PXLA QR?
Not in V1 — PXLA QR uses level Q for every code, tuned specifically for reliable printing. This keeps the tool simple while still giving strong real-world durability.
Does error correction protect against a wrong URL, not just physical damage?
No — error correction only recovers data that was correctly encoded but later physically damaged or obscured. If the wrong URL was entered in the first place, the code will decode perfectly to that (incorrect) URL. See Wrong Destination for that specific issue.
Is Reed-Solomon coding unique to QR codes?
No — it's a general-purpose error-correction technique used across many technologies, including CDs, DVDs, QR codes, and some forms of data storage and satellite transmission. QR codes apply it in a way specifically tuned for a two-dimensional grid.
Related articles
How QR Codes work
The technical pipeline behind every QR code — encoding modes, finder and timing patterns, error correction, and masking — explained step by step.
Logo Overlays & Colors
PXLA QR does not support logo overlays in V1. Here's exactly why, what error correction that would require, and what customization is possible today.
Printing Guide
Recommended sizes for flyers, posters, and packaging, plus the quiet zone and contrast rules that determine whether a printed QR code scans reliably.
