Cos’è un QR code?

Da dove vengono i QR code, cosa possono contenere e perché la fotocamera del telefono riesce a leggerli storti, capovolti e con una macchia di caffè sull’angolo.

Risposta breveUn QR code è un codice a barre bidimensionale che memorizza dati in una griglia di quadratini bianchi e neri. A differenza del classico codice a barre a strisce, si legge da qualsiasi orientamento e contiene migliaia di caratteri invece di una dozzina: per questo si usa per gli indirizzi web.

Da dove viene

QR sta per Quick Response, «risposta rapida». Il formato è nato nel 1994 in Denso Wave, un’azienda giapponese fornitrice dell’industria automobilistica, per seguire i componenti lungo le linee di produzione. I normali codici a barre a strisce erano troppo lenti e contenevano troppo poco: lo scanner andava allineato alle strisce e il codice bastava appena per un breve numero di articolo.

Gli obiettivi erano velocità e tolleranza. Il codice doveva leggersi da qualsiasi angolazione, al volo, anche da chi aveva ben altro a cui pensare, e doveva funzionare anche con l’etichetta graffiata, sporca o in parte strappata. Da questi due requisiti discendono quasi tutte le caratteristiche del formato.

Denso Wave detiene dei brevetti sul formato ma ha scelto di non farli valere, e la specifica è stata pubblicata come norma internazionale, ISO/IEC 18004. Chiunque può generare e leggere QR code senza licenze né royalty. Il termine «QR Code» in sé è invece un marchio registrato di Denso Wave.

Perché il telefono lo legge da qualsiasi angolazione

Guarda un QR code qualsiasi e vedrai tre grandi quadrati concentrici negli angoli. Sono i pattern di posizionamento (finder pattern) ed è grazie a loro che la scansione sembra istantanea. Il loro rapporto tra nero e bianco, 1:1:3:1:1 lungo qualsiasi linea che passi per il centro, è raro nelle immagini comuni, quindi il software può cercarlo in un fotogramma con pochissimo sforzo.

Tre angoli bastano per capire dove si trova il codice, quanto è grande e da che parte va letto. Il quarto angolo resta volutamente senza, ed è così che il lettore distingue un codice ruotato da uno capovolto. Nei codici più grandi, altri pattern di allineamento più piccoli correggono la distorsione che si ha quando inquadri un’etichetta su una bottiglia curva o di sbieco.

I danni vengono gestiti a parte, dalla correzione degli errori: ne parliamo in come funzionano i QR code. A seconda del livello scelto quando si crea il codice, si può perdere all’incirca dal 7% al 30% del simbolo e recuperare comunque i dati per intero.

Cosa può contenere un QR code

Un QR code contiene caratteri, non file. Quanti dipende dalla versione, cioè dalla dimensione della griglia, da 21 × 21 moduli fino a 177 × 177, e da quanta capacità viene riservata alla correzione degli errori.

Capacità massima alla versione più grande (40), per tipo di dato
Tipo di datoCorrezione errori minimaCorrezione errori massima
Solo numeri7.089 cifre3.057 cifre
Lettere e cifre4.296 caratteri1.852 caratteri
Byte qualsiasi (testo UTF-8)2.953 byte1.273 byte

Sono limiti massimi, non obiettivi. Un codice con quattromila caratteri ha moduli così piccoli che va stampato grande e inquadrato da vicino. In pratica, un URL sotto i cento caratteri mantiene il codice abbastanza «grosso» da essere letto dall’altra parte di una stanza.

Un QR code non può contenere un file. Ogni «QR code per PDF» o «QR code per video» è in realtà un link a qualcosa ospitato altrove: vedi QR code per PDF per capire cosa significa in pratica.

Cosa ci si mette dentro

Al formato non interessa il significato: memorizza testo. A dare un comportamento a quel testo è una convenzione che l’app di scansione riconosce.

  • Un URL: di gran lunga il caso più comune. Il telefono propone di aprirlo. Questo generatore li crea, insieme ai tipi Wi-Fi, testo, email, telefono e SMS qui sotto.
  • vCard o MeCard: dati di contatto che il telefono propone di salvare. Compatti, ma abbastanza prolissi da produrre un codice fitto. Questo sito non li genera.
  • Credenziali Wi-Fi: nome della rete e password in un formato fisso, che sia Android sia iOS capiscono. Vedi il generatore di QR code Wi-Fi.
  • Testo semplice: mostrato così com’è, senza alcuna azione. Vedi il generatore di QR code di testo.
  • Email, telefono e SMS: link mailto:, tel: e SMSTO: che aprono una bozza di email, una chiamata o un messaggio. Vedi i generatori per email, telefono e SMS.
  • Dati di pagamento: molti sistemi di pagamento nazionali definiscono un proprio formato QR sopra lo standard.

Il comportamento lo decide lo scanner, non il codice. Un telefono che non riconosce una convenzione mostra semplicemente il testo grezzo: per questo, per tutto ciò che stampi per il pubblico, un URL è la scelta più sicura.

Sono sicuri?

Un QR code è un link stampato, con una differenza importante: non puoi leggerlo prima di seguirlo. È proprio questo che lo rende interessante per i truffatori, che coprono un codice legittimo (su un parchimetro, sul tavolo di un ristorante, su un avviso di consegna) con un adesivo tutto loro.

  • Controlla l’indirizzo che mostra il telefono prima di toccarlo. Tutte le fotocamere dei telefoni più diffusi mostrano un’anteprima dell’URL.
  • Diffida di un adesivo incollato sopra un materiale stampato, soprattutto quando ci sono di mezzo soldi.
  • Tratta un codice che porta dritto a un modulo di accesso come tratteresti lo stesso link ricevuto via email.

Dall’altra parte, se il codice lo stampi tu, il rischio è diverso: il tuo codice stampato è permanente e pubblico. Chiunque può fotografarlo e leggere l’URL che contiene, quindi un QR code non è mai un modo per tenere segreto un indirizzo.

Trasforma un link in un QR code, senza caricare nulla e senza account:Apri il generatore

Domande correlate

Quick Response, cioè «risposta rapida». Il nome si riferisce alla velocità di lettura: il formato è stato pensato perché uno scanner potesse individuare e decodificare il simbolo in una frazione di secondo, da qualsiasi orientamento.

Un codice a barre tradizionale memorizza i dati nella larghezza delle strisce lungo una sola dimensione, contiene più o meno una dozzina di caratteri e richiede che lo scanner sia allineato. Un QR code usa entrambe le dimensioni, contiene migliaia di caratteri, si legge da qualsiasi angolazione e resiste ai danni parziali grazie alla correzione degli errori integrata.

No. Denso Wave, che ha inventato il formato, ha scelto di non far valere i propri brevetti, e la specifica è pubblicata come norma aperta ISO/IEC 18004. Generare, stampare e scansionare QR code è gratuito per qualsiasi scopo, anche commerciale.

Fino a 7.089 cifre o 2.953 byte alla dimensione massima con la correzione errori minima. I codici reali ne contengono molti meno: un indirizzo web sotto i cento caratteri mantiene il disegno abbastanza grosso da leggersi facilmente anche a distanza.