Guide
Standard QR Code: versioni, correzione degli errori e best practice
Stesso quadrato, payload molto diversi — la specifica lascia molto spazio per creare codici che non vengono letti.
By Buğra SözeriPublished
I QR code sembrano un problema risolto finché non si stampano 5.000 biglietti da visita e un terzo di essi non viene letto. Lo standard lascia molto spazio per creare codici validi che tuttavia non funzionano nel mondo reale. Questa guida copre le parti di ISO/IEC 18004 che contano per il design e l’integrazione, e le regole pratiche che la specifica non afferma ma ogni QR code in produzione rispetta.
Lo standard: ISO/IEC 18004
I QR code sono stati inventati da Denso Wave nel 1994 per il tracciamento dei componenti automobilistici. Il formato è stato aperto nel 1999 e standardizzato come ISO/IEC 18004, attualmente alla revisione del 2015. Chiunque può generare o decodificare QR code senza licenze; il marchio sul termine “QR Code” rimane a Denso Wave ma è liberamente concesso in licenza.
È possibile generare qualsiasi dei codici descritti di seguito con il nostro generatore QR code, che produce output SVG adatto sia agli schermi che alla stampa — il vettoriale significa che i pattern di localizzazione rimangono nitidi a qualsiasi dimensione, da un adesivo da 2 cm a un cartellone pubblicitario.
Versioni da 1 a 40
La versione di un QR code determina le sue dimensioni fisiche — misurate in moduli, non pixel. La Versione 1 è 21×21 moduli; ogni versione successiva aggiunge 4 moduli per lato, quindi la Versione 40 è 177×177. La versione necessaria dipende dalla lunghezza del payload, dalla modalità di codifica e dal livello di correzione degli errori. Un generatore normalmente sceglie la versione più piccola che si adatta.
Capacità approssimativa al livello di correzione degli errori M (15% di recupero), la scelta più comune:
- Versione 1 (21×21): 14 caratteri alfanumerici o 20 numerici.
- Versione 5 (37×37): 122 alfanumerici o 202 numerici — sufficiente per un URL tipico.
- Versione 10 (57×57): 395 alfanumerici o 652 numerici.
- Versione 25 (117×117): 1.853 alfanumerici o 3.057 numerici.
- Versione 40 (177×177): 4.296 alfanumerici o 7.089 numerici — il massimo assoluto.
La capacità diminuisce significativamente ai livelli di correzione degli errori più alti. Al livello H (30%) lo stesso codice Versione 40 contiene solo circa 1.852 caratteri alfanumerici. Scegliere la versione più bassa possibile — ogni passo in su moltiplica il numero di moduli e costringe lo scanner a mettere a fuoco su una griglia più fitta.
I quattro livelli di correzione degli errori
I QR code usano la correzione degli errori Reed-Solomon, lo stesso algoritmo usato nei CD, DVD e nelle comunicazioni nello spazio profondo. Le parole di codice sono interleaved in modo che i danni locali (una macchia di caffè, un’impronta digitale, un adesivo) distruggano una piccola frazione di ogni blocco piuttosto che cancellare una sequenza contigua di dati.
- L (Basso) — recupera ~7%. Massima densità di dati. Da usare solo per codici grandi, puliti, su schermo.
- M (Medio) — recupera ~15%. Il default per quasi tutto. Stampa, schermi, packaging.
- Q (Quartile) — recupera ~25%. Stampa piccola, ambienti leggermente contaminati, tessere laminate.
- H (Alto) — recupera ~30%. Richiesto quando si sovrappone un logo; raccomandato per segnaletica esterna, packaging alimentare, etichette di apparecchiature in ambienti sporchi.
La percentuale di recupero si riferisce alle parole di codice, non ai moduli — ma in pratica i due sono abbastanza vicini che progettare per la percentuale è un’approssimazione ragionevole.
Modalità di codifica
I QR code hanno quattro modalità di codifica dei dati, e il generatore passa tra di esse in base al contenuto:
- Numerico (0-9). 3,33 bit per cifra. La modalità più compatta; utile per numeri seriali, numeri di telefono e ID di tracciamento.
- Alfanumerico. 5,5 bit per carattere. Copre
0-9,A-Z(solo maiuscole), spazio e la punteggiatura$ % * + - . / :. Gli URL si adattano se messi in maiuscolo; alcuni scanner normalizzano prima di aprire il link. - Byte (8 bit). 8 bit per byte. Il fallback per tutto ciò che è al di fuori del set alfanumerico; quasi sempre testo UTF-8 nei codici moderni.
- Kanji. 13 bit per carattere per Kanji Shift-JIS. Più denso della modalità Byte per il testo giapponese, ma supportato solo se sia il codificatore che lo scanner concordano su Shift-JIS. La maggior parte dei codici giapponesi moderni usa UTF-8 in modalità Byte per sicurezza.
Un singolo QR code può cambiare modalità a metà payload, quindi un numero seriale più un URL possono essere impacchettati più strettamente che l’uno o l’altro da soli. I buoni generatori lo fanno automaticamente.
Append strutturato
Per i payload più lunghi di quanto la Versione 40 supporta, la specifica consente di suddividere un singolo messaggio su un massimo di 16 codici usando l’append strutturato. Ogni pezzo porta un’intestazione che identifica la sua posizione nella sequenza e un byte di parità per verificare l’intero messaggio. Il supporto degli scanner è limitato ai lettori industriali; le fotocamere dei telefoni consumer quasi universalmente trattano ogni codice come indipendente. Non fare affidamento sull’append strutturato per nulla che raggiunga il pubblico.
Micro QR
I codici Micro QR (versioni M1-M4) riducono il formato per l’etichettatura in spazi ristretti. M1 è 11×11 moduli e contiene solo 5 caratteri numerici; M4 è 17×17 e contiene fino a 35 numeri, 21 alfanumerici o 15 byte. Sono utili per le etichette di piccole schede di circuito stampato e le marcature di circuiti integrati; gli scanner dei telefoni consumer li supportano, ma le librerie delle webcam desktop non sempre.
Regole di design che decidono se viene letto
Tre cose contano più di qualsiasi altra cosa nella specifica:
- Contrasto. Moduli scuri su sfondo chiaro. Il rapporto di contrasto tra primo piano e sfondo dovrebbe essere almeno 4:1; verificare i campioni nel nostro selettore colore prima di stampare. I codici invertiti (chiari su scuro) sono consentiti dalla specifica ma rifiutati da molti scanner, specialmente le vecchie app fotocamera Android.
- Zona silenziosa. Un margine di 4 moduli di colore di sfondo su ogni lato. Saltarla — di solito perché un designer voleva inserire il codice in un layout stretto — è la causa singola più comune di fallimento della scansione su materiale prodotto professionalmente.
- Dimensione del modulo.A distanza normale dal telefono (15-30 cm), i moduli devono essere larghi almeno 0,4 mm per la lettura affidabile. Per i poster da leggere attraverso una stanza, usare la regola “distanza ÷ 10 = larghezza minima del codice.” Un codice destinato ad essere letto da 2 m di distanza deve essere almeno 20 cm quadrati.
La personalizzazione dei colori è consentita entro questi limiti. Un blu scuro o verde scuro su crema è accettabile. Un pastello su bianco non lo è — il contrasto scende al di sotto della soglia di rilevamento.
Formati payload che gli scanner consumer comprendono
- URL. Incollare semplicemente l’URL. Includere lo schema
https://; alcuni scanner rifiutano i codici senza. Mantenere gli URL brevi per stare in una versione inferiore — usare il nostro strumento URL per verificare la codifica. - Wi-Fi. Formato:
WIFI:T:WPA;S:NomeRete;P:Password;H:false;;. Riconosciuto da entrambe le app fotocamera iOS e Android. ImpostareH:trueper le reti nascoste. - Contatto vCard. Payload vCard 3.0 o 4.0 standard tra
BEGIN:VCARDeEND:VCARD. I telefoni offrono di aggiungere il contatto direttamente. - SMS / tel / mailto. Schemi URI standard (
sms:+15551234?body=Ciao,tel:+15551234,mailto:[email protected]?subject=Ciao). Universalmente supportati. - Geo.
geo:37.7749,-122.4194apre l’app mappe predefinita. iOS potrebbe richiedere il fallback specifico Applehttp://maps.apple.com/?ll=…sulle versioni più vecchie.
Tracciamento e URL abbreviati
Molti codici di marketing usano un URL abbreviato non per risparmiare caratteri ma per tracciare le scansioni e dare alla stampante una via d’uscita se l’URL di destinazione cambia. Il compromesso: l’utente atterra sul redirect prima di raggiungere il sito, il che aggiunge latenza e rivela il dominio dell’abbreviatore nell’anteprima. Se si controlla la destinazione, preferire il proprio dominio breve rispetto a un abbreviatore pubblico — il redirect è più veloce e l’anteprima appare come il proprio brand.
La conclusione onesta
Scegliere il livello di correzione degli errori M a meno che non si abbia un motivo specifico per andare più in alto. Mantenere l’URL breve in modo che la versione rimanga bassa. Rispettare la zona silenziosa. Testare su almeno due telefoni — idealmente uno Android più vecchio — in condizioni di luce realistiche prima che il codice vada in stampa. La maggior parte dei fallimenti dei QR code non sono bug del generatore; sono violazioni della zona silenziosa, del contrasto o della dimensione del modulo che sembravano corrette sulla prova di design e si sono rotte nel mondo reale.
Frequently asked questions
- Quale livello di correzione degli errori scegliere?
- Il livello M (15%) è un buon default per schermi e stampa pulita. Passare a Q (25%) se il codice sarà stampato in piccolo formato, laminato sotto pellicola riflettente, o potrebbe sporcarsi — menu di ristorante, segnaletica esterna, etichette di apparecchiature. Il livello H (30%) è richiesto quando si vuole sovrapporre un logo al centro. Il livello L (7%) ha senso solo quando si ha bisogno della massima densità di dati e il codice sarà letto in condizioni ideali.
- Qual è la dimensione minima del QR code che posso stampare?
- Il minimo pratico è una dimensione del modulo di circa 0,4 mm a distanza di scansione standard. Per un codice Versione 3 (29×29 moduli) la dimensione stampata è vicina a 12 mm quadrati. Al di sotto, l'autofocus della fotocamera inizia ad avere difficoltà. Se si ha bisogno di dimensioni più piccole, usare un Micro QR code (versioni M1-M4) — arrivano a un massimo di 35 caratteri numerici ma si leggono affidabilmente fino a circa 8 mm.
- Perché il mio codice con un logo viene ancora letto?
- Correzione degli errori Reed-Solomon. Il codice memorizza dati ridondanti sufficienti per ricostruire i moduli mancanti; al livello H, fino al 30% del codice può essere illeggibile e lo scanner recupera comunque il payload. I loghi devono restare nell'area centrale e non coprire mai i tre grandi quadrati di rilevamento della posizione negli angoli.
- Cos'è la zona silenziosa e quanto deve essere grande?
- La zona silenziosa è il margine vuoto attorno al codice che permette allo scanner di trovare il confine. La specifica richiede 4 moduli di spazio vuoto su ogni lato. Saltarla è la causa singola più comune per cui un codice altrimenti valido non viene letto — la fotocamera vede l'immagine circostante come parte del pattern e il rilevatore si interrompe.
- Un QR code può essere rettangolare?
- Non un QR code standard — quelli sono sempre quadrati. L'rMQR di Denso Wave (Rectangular Micro QR) è uno standard ISO separato (ISO/IEC 23941) per codici rettangolari, ma il supporto degli scanner è scarso al di fuori dei contesti industriali di inventario. Se si ha bisogno di un codice a barre non quadrato, considerare PDF417 o Data Matrix.
- Quali formati payload riconoscono le fotocamere dei telefoni?
- L'URL è universale. Oltre a questo: `WIFI:` si connette a una rete, `mailto:` apre una bozza email, `tel:` e `sms:` aprono il telefono o l'app messaggi, `geo:` apre le mappe, e un payload vCard (`BEGIN:VCARD…END:VCARD`) aggiunge un contatto. Sia iOS che Android li riconoscono senza un'app. Evitare prefissi personalizzati — richiedono un lettore dedicato.
Related
Published May 31, 2026