Livelli di correzione degli errori nei QR code

Cosa recuperano davvero L, M, Q e H, quanto paghi ciascun livello in densità e quale scegliere per un adesivo, un manifesto o un codice con il logo al centro.

Risposta breveI QR code hanno quattro livelli di correzione degli errori: L recupera circa il 7% del codice, M circa il 15%, Q circa il 25% e H circa il 30%. Un livello più alto fa sopravvivere il codice a più sporco, danni o coperture, ma aggiunge moduli: lo stesso link produce quindi un codice più fitto.

I quattro livelli

Ogni QR code viene creato con uno dei quattro livelli di correzione degli errori, scelto al momento della generazione e scritto dentro il simbolo, così lo scanner sa cosa aspettarsi. Le percentuali indicano quanta parte dei dati del codice può andare persa ed essere comunque ricostruita in modo esatto.

Livelli di correzione degli errori e cosa sopportano
LivelloRecuperabileIdeale per
L (Low)circa il 7%Schermi e stampe pulite e controllate, quando lo spazio è poco.
M (Medium)circa il 15%Stampa generica: volantini, biglietti da visita, documenti.
Q (Quartile)circa il 25%Stampe che vengono maneggiate, bagnate o graffiate; loghi piccoli.
H (High)circa il 30%Ambienti difficili, etichette all’aperto, loghi sovrapposti più grandi.

Le cifre sono approssimative perché si misurano in codeword — i blocchi da 8 bit in cui vengono divisi i dati — e non in superficie visibile. Una sbavatura che intacca pochi moduli di tanti codeword diversi può fare più danni di un buco netto della stessa grandezza. Il meccanismo è spiegato in come funzionano i QR code; qui conta il comportamento pratico.

Cosa vuol dire “recuperare” nella pratica

La correzione degli errori non è un tentativo approssimativo. Se il danno resta entro il margine del livello, lo scanner ricostruisce i dati originali in modo esatto, byte per byte. Se lo supera, la scansione fallisce: non restituisce un link leggermente sbagliato. Un codice o si legge correttamente o non si legge.

  • Danni fisici. Angoli strappati su un manifesto, un’etichetta graffiata su una cassa, una piega che attraversa un pieghevole.
  • Sporco e riflessi. Unto su un segnatavolo, gocce d’acqua su un adesivo da vetrina, il riflesso di un cartoncino plastificato che “sbianca” parte del disegno.
  • Coperture volute. Per lo scanner, un logo al centro è un danno. Funziona solo perché la correzione degli errori ricostruisce i moduli nascosti: vedi QR code con logo.
  • Difetti di stampa. Inchiostro che si allarga su carta assorbente o una stampa a bassa risoluzione che fonde i moduli vicini.

La correzione degli errori non ripara i danni strutturali. Se uno dei tre grandi quadrati agli angoli è coperto, o se il margine bianco attorno al codice viene tagliato, lo scanner potrebbe non trovare proprio il codice, qualunque sia il livello.

Il compromesso: la protezione costa densità

La ridondanza che rende possibile il recupero deve stare da qualche parte, e sta nella stessa griglia del tuo link. Al livello H circa un terzo dei codeword serve alla correzione e non ai dati. A parità di URL, un livello più alto porta quindi il codice a una versione maggiore: più moduli per lato, ciascuno più piccolo a parità di dimensione di stampa.

I moduli piccoli sono più difficili da leggere. Richiedono una stampa più nitida, luce migliore, una mano più ferma e la fotocamera più vicina. Oltre un certo punto, quindi, alzare il livello rende il codice meno affidabile, non di più: l’hai protetto dai danni ma l’hai reso fragile rispetto alla distanza e allo sfocato. Quanti dati contiene ogni versione a ogni livello lo trovi in quanti dati contiene un QR code.

Per un codice troppo fitto, abbassare solo il livello raramente basta. Un link più corto riduce la versione più di qualsiasi cambio di livello, e stampare più grande mantiene i moduli di una dimensione leggibile: vedi dimensioni del QR code per la stampa.

Quale livello usare

  • L — solo se il codice verrà mostrato su uno schermo o stampato bene e tenuto pulito, e ti serve la griglia più grossolana possibile per un contenuto lungo. Per i codici nelle slide e presentazioni può andare bene.
  • M — una scelta sensata per la maggior parte delle stampe. Biglietti da visita, brochure, lettere e cartelli al chiuso.
  • Q — tutto ciò che verrà toccato, piegato o esposto: menu del ristorante e segnatavoli, confezioni dei prodotti, vetrine e codici con un logo piccolo.
  • H — insegne all’aperto, etichette industriali e di spedizione, e grafiche che coprono di proposito una parte ampia del codice. Tieni il link corto, così la versione resta bassa.

Qualunque livello scegli, prova il risultato stampato su più di un telefono, alla distanza a cui le persone staranno davvero. Se la lettura è lenta, la guida QR code che non funziona elenca le cause più comuni in ordine di probabilità.

Come sceglie questo generatore

Su questo sito non c’è un selettore del livello. I codici vengono creati al livello Q, che sopporta la perdita di circa un quarto del codice: abbastanza per stampe maneggiate e per l’usura di tutti i giorni. Se un link è così lungo che un codice di livello Q supererebbe la versione 12 (65 × 65 moduli), il generatore passa al livello M, così i moduli restano più grandi e il codice resta leggibile alle normali dimensioni di stampa. L’eccezione è il logo: in quel caso il codice passa al livello H, perché il logo ne copre di proposito una parte.

Sotto ogni codice vedi la versione e il numero di moduli prima di scaricarlo, così puoi controllare il risultato di questa scelta. Senza logo, tutto il margine di correzione resta disponibile per i danni reali; con il logo, questo occupa al massimo il 12% circa del simbolo, così resta un po’ di margine. Per le opzioni di logo e colori vedi QR code personalizzato.

Crea un codice e controlla versione e numero di moduli:Genera QR

Domande correlate

Per la maggior parte dei codici stampati, M o Q. M mantiene il codice compatto per stampe pulite al chiuso; Q aggiunge protezione per codici che verranno maneggiati o esposti. H conviene solo in condizioni difficili o con loghi grandi, e solo con un link corto.

No. H sopporta più danni, ma a parità di dati produce un codice più fitto con moduli più piccoli, più difficile da leggere da lontano o con poca luce. Un codice pulito e integro a un livello più basso può essere letto più in fretta di uno fitto al livello H.

Il livello è memorizzato nelle informazioni di formato accanto ai quadrati d’angolo, e alcune app di scansione e decodifica lo mostrano. A occhio non puoi capirlo con sicurezza, perché la versione dipende anche da quanti dati contiene.

Non senza rigenerarlo. Il livello determina come viene costruito l’intero simbolo: un livello diverso significa un disegno diverso, e le copie già stampate andrebbero sostituite.