I quattro livelli
Ogni codice QR è costruito a uno di quattro livelli di correzione degli errori. Un livello più alto aggiunge più codeword di correzione degli errori Reed–Solomon, quindi una parte maggiore del codice può essere sporca, graffiata o coperta e continuare a decodificarsi.
Le percentuali sono tassi di recupero approssimativi dei codeword, non dell'area visibile. Un piccolo danno può toccare più codeword, e un danno ai pattern di ricerca o alle informazioni di formato può bloccare la scansione a prescindere dal livello.
- L (Low, basso): circa il 7% dei codeword recuperabili
- M (Medium, medio): circa il 15%
- Q (Quartile, quartile): circa il 25%
- H (High, alto): circa il 30%
Il compromesso con la dimensione
Più correzione degli errori significa meno spazio per i dati. Lo stesso contenuto al livello H richiede una versione più grande, con moduli più numerosi e più piccoli, rispetto al livello L.
Per esempio, un codice di versione 1 contiene 17 byte al livello L ma solo 7 byte al livello H. Alla versione 40 le cifre sono 2.953 byte a L e 1.273 byte a H.
Come scegliere un livello
Il livello M è un'impostazione predefinita comune e va bene per la maggior parte dei materiali stampati in condizioni pulite. Il livello L mantiene il più piccolo possibile i codici solo su schermo o molto puliti.
I livelli Q e H vanno bene per i codici che si consumeranno, saranno stampati su superfici ruvide o coperti in parte da un logo. Un logo posto sopra i moduli consuma parte del margine di correzione degli errori, quindi al codice ne resta meno per i danni del mondo reale.