Lettore gratuito di codici QR online
Carica un'immagine o trascina e rilascia un QR code per decodificarne il contenuto all'istante.
Rilascia qui un'immagine di QR code o clicca per caricare
Supporta PNG, JPG, GIF, BMP, WebP
Come usare questo lettore di QR code
- Clicca sull'area di caricamento o trascina e rilascia un'immagine contenente un QR code.
- Lo strumento decodifica il QR code all'istante e visualizza il suo contenuto.
- Clicca su Copia per copiare il testo decodificato, o su Apri il link se si tratta di un URL.
Cosa può contenere un QR code?
- URL · link a siti web, app store o profili social.
- Testo semplice · qualsiasi messaggio o nota.
- Credenziali WiFi · SSID, password e tipo di crittografia per una connessione automatica.
- vCard · informazioni di contatto (nome, telefono, e-mail, organizzazione).
- E-mail/SMS · indirizzi e-mail o numeri di telefono precompilati.
Domande frequenti
Quali formati di immagine sono supportati?
PNG, JPEG, GIF, BMP e WebP. Qualsiasi formato di immagine comune che il tuo browser può visualizzare.
La mia immagine viene inviata a un server?
No. Il QR code viene decodificato interamente nel tuo browser in JavaScript. La tua immagine non lascia mai il tuo dispositivo.
Può leggere QR code da screenshot?
Sì! Screenshot, foto e documenti scannerizzati funzionano. Il QR code deve solo essere ben visibile e non troppo sfocato.
Un'invenzione del 1994 alla Denso Wave, e una scacchiera del Go
Il QR code è stato inventato nel 1994 da Masahiro Hara, un ingegnere del reparto di sviluppo della Denso Corporation (la controllata scorporata che è diventata Denso Wave è stata formalmente costituita più tardi), per risolvere un problema specifico nella produzione automobilistica giapponese. Il modello di produzione snella di Toyota, con la sua enfasi sui cartellini Kanban e sulla produzione ad alta varietà e basso volume, generava più SKU di quanti i codici a barre monodimensionali esistenti potessero gestirne. Un codice a barre lineare standard, del tipo stampato sui prodotti dei supermercati, contiene circa venti caratteri; un singolo componente automobilistico potrebbe dover tracciare un numero d'ordine, un codice articolo, un lotto, un fornitore e un flag di processo, così gli operai finivano per leggere una decina di codici a barre di fila, con un corrispondente tasso di letture errate. Nel 1992 a Hara fu affidato il compito di progettare un codice bidimensionale capace di contenere l'intero cartellino in un solo simbolo, in qualsiasi orientamento, rapidamente.
La celebre storia delle origini vuole che Hara abbia intuito lo schema di codifica durante una partita a Go all'ora di pranzo, l'antico gioco da tavolo in cui pietre bianche e nere vengono disposte su una griglia 19×19. I moduli bianchi e neri di un codice a barre a matrice sono essenzialmente pietre del Go su un reticolo quadrato, e Hara capì che il fitto motivo bidimensionale poteva contenere molte più informazioni di un codice a barre monodimensionale della stessa area fisica. L'altro pezzo del puzzle era l'orientamento: come fa uno scanner a sapere dove il codice inizia, finisce e da che parte sta l'alto, quando il codice è fotografato di sbieco o capovolto? La risposta di Hara sono i tre pattern di ricerca a quadrati concentrici nei tre angoli di ogni QR code.
Per scegliere un pattern che non entrasse in conflitto con la stampa normale, il team di Hara esaminò migliaia di riviste, giornali e materiali stampati e tabulò le frequenze delle lunghezze delle sequenze di regioni bianche e nere. Scoprirono che il rapporto tra le larghezze delle strisce 1:1:3:1:1 (un nero sottile, un bianco sottile, un nero spesso, un bianco sottile, un nero sottile) non compariva quasi mai nella stampa ordinaria. È quel rapporto che gli scanner cercano. Quando una fotocamera individua in un'immagine tre regioni le cui larghezze delle strisce corrispondono a 1:1:3:1:1 lungo entrambi gli assi, può classificarle con sicurezza come i tre angoli di un simbolo QR e correggere la prospettiva a partire da lì. Il rapporto ha retto abbastanza bene da consentire la decodifica dei QR code su superfici curve, ad angoli fino a circa trenta gradi e attraverso occlusioni parziali.
La decisione di licenza aperta
L'altro contributo decisivo di Denso Wave fu strategico anziché tecnico. L'azienda detiene brevetti sul QR code (e continua a registrare brevetti su derivati come iQR e SQRC), ma ha esplicitamente rinunciato ai diritti di royalty per l'uso dei QR code conformi agli standard pubblici JIS e ISO. La posizione ufficiale di Denso Wave, ribadita nelle pagine FAQ e brevetti del suo sito qrcode.com, è che non serve alcuna licenza, non è richiesto alcun contratto e non è dovuto alcun compenso per l'uso commerciale del QR code, purché il simbolo segua la specifica ISO/IEC 18004. Il marchio registrato sul termine «QR Code» è depositato, ma il codice a barre a matrice sottostante è libero.
Non era la mossa ovvia nel 1994. Symbol Technologies, che all'epoca deteneva il brevetto PDF417, faceva pagare royalty; Aztec e Datamatrix avevano avuto agli inizi storie altrettanto gravate da vincoli. La scelta di Denso Wave di cedere gratuitamente il formato fece sì che chiunque (produttori di stampanti, costruttori di telefoni cellulari, reti di pagamento, catene di ristoranti, sviluppatori di app di tracciamento dei contatti) potesse integrare i QR code senza alcun attrito legale. Quella decisione è la singola ragione più importante per cui i QR code hanno vinto la corsa ai codici a barre 2D nelle applicazioni di consumo.
Correzione degli errori Reed-Solomon: perché un QR sbavato funziona comunque
Il motivo per cui un QR code continua a funzionare quando è parzialmente sbavato, strappato o coperto da un piccolo logo è la correzione degli errori Reed-Solomon, una tecnica di teoria dei codici vecchia di quarant'anni. I codici Reed-Solomon furono presentati in un articolo di cinque pagine, «Polynomial Codes over Certain Finite Fields», di Irving S. Reed e Gustave Solomon, all'epoca membri dello staff del MIT Lincoln Laboratory. L'articolo fu completato come rapporto interno del Lincoln Lab nel dicembre 1958 e pubblicato in forma leggermente modificata sul Journal of the Society for Industrial and Applied Mathematics, vol. 8, pp. 300-304, nel 1960. Reed e Solomon lavoravano inizialmente al sistema di difesa aerea SAGE, che doveva mantenere coerenti i segnali radar su collegamenti di comunicazione disturbati in tempo di guerra. La loro intuizione fu che una sequenza di dati poteva essere trattata come i coefficienti di un polinomio su un campo finito, valutato in un insieme di punti; la ridondanza nella sovra-valutazione consente a un ricevitore di recuperare il polinomio anche quando alcune delle valutazioni sono errate. La stessa matematica è alla base di CD, DVD, trasmissioni di sonde nello spazio profondo, televisione e (dal 1994) di ogni QR code al mondo.
I QR code offrono quattro livelli di correzione degli errori selezionabili dall'utente, ciascuno un diverso compromesso tra capacità di dati e robustezza:
- Livello L (basso): ~7% di recupero delle parole di codice
- Livello M (medio): ~15%, il valore predefinito pratico
- Livello Q (quartile): ~25%
- Livello H (alto): ~30%, abbastanza alto da permettere a un QR di Livello H di continuare a funzionare con un logo sorprendentemente grande incollato sulla sua superficie
Il costo di una correzione più elevata è una capacità ridotta: la stessa versione fisica di un QR code contiene molto meno payload al Livello H rispetto al Livello L, perché un numero maggiore di moduli viene occupato dai bit di parità.
Capacità alla versione 40: il limite massimo
I QR code sono disponibili in quaranta versioni. La versione 1 è di 21×21 moduli. Ogni versione successiva aggiunge 4 moduli per lato, quindi la versione 2 è 25×25, la versione 3 è 29×29, fino alla versione 40 con 177×177 moduli. I payload massimi alla versione 40 con la correzione degli errori più bassa (L):
- 7.089 caratteri numerici (cifre)
- 4.296 caratteri alfanumerici (cifre, lettere maiuscole, spazio, alcuni segni di punteggiatura)
- 2.953 byte di dati binari arbitrari (che comprendono il testo UTF-8)
- 1.817 caratteri kanji nella codifica Shift JIS
Questi massimi calano nettamente con una correzione più elevata: al Livello H lo stesso simbolo di versione 40 contiene solo 3.057 cifre, 1.852 caratteri alfanumerici, 1.273 byte o 784 kanji. In pratica, i QR code con più di qualche centinaio di byte sono rari; quando si arriva più o meno alla versione 20, i moduli diventano troppo piccoli per essere scansionati in modo affidabile da un telefono a distanza di un braccio senza una fotocamera ad alta risoluzione.
Datamatrix, Aztec, PDF417: le alternative al QR che incontrerai in giro
- Datamatrix (fine anni '80, ISO/IEC 16022) è un codice a barre a matrice quadrato o rettangolare ottimizzato per marcature molto piccole, con un singolo pattern di ricerca a forma di L. Domina la marcatura di piccole parti (circuiti stampati, strumenti chirurgici, dosi unitarie farmaceutiche) e la serializzazione della direttiva UE sui farmaci falsificati, che dal 2019 impone che ogni confezione di medicinale con obbligo di prescrizione rechi un Datamatrix.
- Aztec (1995, ISO/IEC 24778) prende il nome dal pattern di ricerca a bersaglio al suo centro, che richiama una piramide azteca a gradoni vista dall'alto. La sua caratteristica distintiva è che non richiede alcuna zona di silenzio (nessun bordo vuoto attorno al simbolo), il che gli permette di entrare in spazi angusti come l'angolo di una carta d'imbarco cartacea. È lo standard per i biglietti aerei elettronici e per molti sistemi ferroviari e di trasporto in Europa.
- PDF417 (Symbol Technologies 1991, ISO/IEC 15438) è tecnicamente un codice «lineare impilato» anziché un vero codice a matrice: più righe di codici a barre lineari impilate una sopra l'altra. Il più denso dei quattro per il testo ASCII semplice, può contenere oltre un kilobyte di dati, usato sul retro delle patenti di guida statunitensi (codificando tutti i dati della banda magnetica e altro ancora) e sulle etichette di spedizione di FedEx e altri.
Tra questi quattro, i QR code hanno conquistato il mercato di consumo per tre ragioni: la scansione omnidirezionale grazie ai tre individuatori d'angolo, la licenza aperta e la profonda integrazione con l'industria giapponese della telefonia mobile alla fine degli anni '90, che ha dato loro una massa critica di scanner installati prima di qualsiasi concorrente.
Cronologia della standardizzazione ISO
I QR code furono pubblicati per la prima volta come standard industriale giapponese (JIS X 0510) nel gennaio 1999 e come standard internazionale, ISO/IEC 18004, nel giugno 2000. La ISO/IEC 18004:2006 (settembre 2006) lo sostituì; essa definì il «QR Code 2005», una lieve estensione del Modello 2 con pattern di allineamento aggiuntivi. La ISO/IEC 18004:2015 (febbraio 2015) rinominò il simbolo semplicemente «QR Code» (eliminando il suffisso dell'anno), incorporò chiarimenti e corresse errori minori. L'edizione attuale è la ISO/IEC 18004:2024, la quarta edizione, pubblicata nell'agosto 2024. Lo standard, come tutte le pubblicazioni ISO, è venduto come PDF a pagamento; diverse implementazioni open source (in particolare ZXing) hanno fatto da riferimenti viventi per la specifica.
Le varianti di Denso Wave: Micro QR, iQR, SQRC, rMQR
La specifica originale di Hara del 1994 è ora chiamata Modello 1. Il Modello 2, definito nel 1997, è la versione che la maggior parte delle persone intende oggi quando dice «QR code»; si estende fino alla versione 40 ed è la base dello standard ISO moderno. Il Micro QR Code usa un solo pattern di ricerca e una zona di silenzio più piccola, entrando in spazi più ristretti. L'iQR Code, introdotto da Denso Wave nel 2011, ha una capacità fino all'80% maggiore rispetto al Modello 2; può essere quadrato o rettangolare, raggiungendo i 422×422 moduli e le 40.000 cifre. L'SQRC (Secure QR Code) trasporta due livelli: un livello pubblico leggibile da qualsiasi scanner QR e un livello privato cifrato che richiede un lettore e una chiave speciali. L'rMQR (Rectangular Micro QR Code) è stato standardizzato nel 2022 come ISO/IEC 23941: un ibrido di Micro QR e iQR, molto più largo che alto, adatto a strisce strette come il lato di un'etichetta o il bordo di un circuito stampato.
Il boom post-COVID e la cultura cinese del pagamento tramite QR
L'adozione dei QR code in Occidente è stata lenta per gran parte degli anni 2010. Poi è arrivato il COVID-19. Con l'OMS che ha dichiarato la pandemia l'11 marzo 2020, ristoranti, nodi di trasporto ed edifici pubblici ovunque avevano bisogno di modi contactless per condividere i menu, registrare i visitatori ed elaborare i pagamenti, e il QR code era l'unica superficie contactless matura e senza hardware disponibile. Verso la metà del 2020, i menu in QR code erano pressoché universali nei ristoranti statunitensi ed europei. Il volume delle transazioni di pagamento tramite QR a Singapore sarebbe cresciuto di circa il 272% su base annua nel corso del 2021. Molti di quegli usi (in particolare i menu) sono regrediti dopo la fase acuta, ma la barriera culturale alla scansione di un QR in pubblico è stata definitivamente infranta.
L'altro motore dell'adozione del QR (cronologicamente il primo) è l'ecosistema dei pagamenti mobili cinese. Alipay ha introdotto i pagamenti tramite QR nel 2011; il WeChat Pay di Tencent è seguito nel 2014 e ha potenziato enormemente l'adozione con la funzione della «busta rossa» del Capodanno cinese, passando da 30 milioni a 100 milioni di utenti entro un mese dal lancio. Entro il 2016, più di 1.650 miliardi di dollari di transazioni passavano attraverso i pagamenti in QR code in Cina. Oggi Alipay detiene all'incirca il 53% del mercato cinese dei pagamenti mobili e WeChat Pay circa il 42%, insieme circa il 90%. Più del 90% dei pagamenti mobili in Cina viene effettuato tramite QR code, e all'incirca il 70% della popolazione li usa regolarmente.
Quando l'Occidente ha avuto la scansione QR nativa
L'altro grande catalizzatore dell'adozione occidentale è stato il supporto nativo della fotocamera. Apple ha distribuito iOS 11 a settembre 2017, e l'app Fotocamera di quella versione riconosceva i QR code in modo silenzioso per impostazione predefinita: era la prima volta che un iPhone poteva leggere un QR senza installare un'app di terze parti. Apple non ha nemmeno menzionato la funzione al WWDC 2017; i recensori l'hanno scoperta dopo il rilascio pubblico. Il cambiamento ha raggiunto più di 700 milioni di iPhone nel primo anno. Google ha seguito: Google Lens ha aggiunto il supporto QR a maggio 2018 e ha iniziato a distribuirlo alle app fotocamera di dieci produttori Android; Android 9, rilasciato lo stesso anno, ha reso la scansione QR nativa lo standard della piattaforma. Nel giro di circa un anno, l'era delle app dedicate di «scanner QR» è di fatto finita.
Quishing: l'ascesa del phishing tramite QR
La stessa scansione a basso attrito che ha reso utili i QR code durante la pandemia li ha anche resi attraenti per chi progetta attacchi di phishing. Il quishing (phishing tramite QR code) usa un'immagine QR inserita in un'e-mail o in un volantino stampato per recapitare un URL dannoso. Poiché l'URL è nascosto all'interno del codice, i tradizionali gateway di sicurezza per le e-mail che analizzano il testo dei link non possono ispezionarlo; poiché di solito all'utente viene chiesto di scansionare con un dispositivo mobile personale, l'attacco si sposta dalla rete aziendale (con le sue protezioni) a un telefono (spesso senza).
La scala è cresciuta rapidamente. Dal 2021 al 2023, le scansioni di QR code sono aumentate del 433%. La quota di e-mail di phishing che usano un payload QR è salita da circa lo 0,8% nel 2021 a circa il 12,4% nel 2023, e si è stabilizzata intorno al 10,8% nel 2024. Entro il 2023, i QR code comparivano nel 22% di tutti gli attacchi di phishing. Circa il 27% delle e-mail di quishing si spaccia per avvisi di autenticazione a più fattori; circa il 90% prende di mira le credenziali di accesso. I dirigenti di alto livello hanno una probabilità 42 volte maggiore rispetto ai dipendenti di base di ricevere un tentativo di quishing. La risposta difensiva su cui i team di sicurezza si sono assestati: non aprire automaticamente i payload QR. Decodificali, guarda l'URL in chiaro e decidi. È esattamente ciò che un lettore di QR basato su immagini (come questo) consente di fare a un utente attento.
Schemi URI che vedrai comunemente decodificati
Un QR code non è che un involucro attorno a una stringa di byte; il significato di quei byte è dettato dalla convenzione. Un piccolo numero di convenzioni copre quasi tutto ciò che si vede in giro:
- URL http: / https:, di gran lunga i più comuni.
- mailto: URI (con i parametri di query opzionali
?subject=e?body=) precompilano una bozza di e-mail. - tel: URI avviano una telefonata.
- sms: URI (e la più vecchia forma SMSTO:, resa popolare da NTT DoCoMo) precompilano un messaggio di testo.
- geo: URI aprono una mappa a una latitudine e longitudine specifiche.
- WIFI: uno schema informale definito da Denso Wave della forma
WIFI:S:<SSID>;T:<WPA|WEP|nopass>;P:<password>;H:<true|false>;;che consente a un telefono di unirsi a una rete con un tocco. Il cavallo di battaglia dei poster del WiFi per gli ospiti. - MECARD: (NTT DoCoMo), un formato di contatto compatto.
- vCard (RFC 6350), il prolisso standard internazionale per i contatti, ampiamente supportato nonostante le sue dimensioni.
Questo lettore mostra il payload decodificato come testo semplice. Seguire il link o copiare il testo è una tua decisione; nulla viene aperto automaticamente.
Come funziona la decodifica nel browser, dietro le quinte
Due librerie open source dominano la decodifica QR lato browser. jsQR, scritta da Daniel Beaver con lo username GitHub «cozmo», è un port in puro TypeScript che prende dati grezzi ImageData (l'array di pixel di un canvas, un fotogramma video o un'immagine caricata) e restituisce il testo decodificato. Non ha dipendenze, né codice specifico per piattaforma, ed è abbastanza piccola da poter essere distribuita da una CDN come un singolo tag di script. Questo strumento usa jsQR. L'altra opzione principale è il port JavaScript di ZXing («Zebra Crossing»), una libreria di codici a barre originariamente in Java che supporta molti più formati 2D e 1D del solo QR, pubblicata come @zxing/library e @zxing/browser su npm.
Una terza via è l'API nativa della piattaforma BarcodeDetector, parte della Shape Detection API del W3C, che espone a JavaScript un lettore di codici a barre integrato nel browser. BarcodeDetector è arrivata abilitata per impostazione predefinita in Chrome 83 a maggio 2020 (Microsoft Edge l'ha adottata nello stesso periodo). Tuttavia, l'API dipende dalla piattaforma: si affida al rilevamento dei codici a barre a livello di sistema operativo ed è pienamente supportata su macOS, Android e Chrome su Android; Chrome su Windows e Linux non la implementano. Firefox e Safari non l'hanno distribuita. La maggior parte degli scanner QR di produzione nel browser usa jsQR o zxing-js come ripiego, chiamando BarcodeDetector quando disponibile e il decodificatore JavaScript negli altri casi.
Altre domande
Perché usare questo strumento invece di puntare il telefono sul codice?
Tre ragioni concrete: (1) il QR è già dentro un'immagine che hai sul computer (uno screenshot di un'e-mail, un poster scaricato, una pagina PDF) e portarlo sul telefono per scansionarlo aggiunge attrito; (2) il QR è sospetto e vuoi leggere l'URL prima di impegnarti a seguirlo (è il caso d'uso della difesa dal quishing); (3) hai generato tu stesso un QR e vuoi verificarne il payload senza fare avanti e indietro con la fotocamera di un telefono.
Qual è il QR code più piccolo che si scansiona ancora in modo affidabile?
All'incirca la versione 1 (21×21 moduli) con correzione degli errori di Livello H, stampata a 1 cm × 1 cm o più grande, scansionata da un telefono a distanza di un braccio con una buona illuminazione. Al di sotto, la risoluzione scende sotto ciò che la maggior parte delle fotocamere dei telefoni riesce a risolvere. Per la stampa fisica, la regola pratica è che la lunghezza del lato del QR dovrebbe essere almeno 1/10 della distanza di scansione prevista: un codice da 5 cm si scansiona da circa 50 cm di distanza.
La mia immagine non si decodifica. Cosa posso fare?
Ritaglia più stretto attorno al QR (rimuovi il disordine sullo sfondo), aumenta il contrasto (i codici molto sbiaditi non si decodificano bene), evita un'inclinazione prospettica estrema (più di ~30° degrada il passaggio di correzione della prospettiva) e controlla che i tre grandi pattern di ricerca a quadrati concentrici siano intatti. Se anche solo uno dei tre individuatori d'angolo manca o è oscurato, il decodificatore non può stabilire l'orientamento. Se il QR ha un logo incorporato al centro, dovrebbe comunque funzionare purché la sorgente sia stata generata con correzione degli errori di Livello H.
È sicuro seguire l'URL di questo QR?
Questo strumento decodifica l'URL ma non lo giudica. Guarda attentamente il dominio: corrisponde al marchio che il QR dichiara di rappresentare? È un accorciatore di URL (bit.ly, tinyurl, ecc.) che nasconde la vera destinazione? Se qualcosa non torna (un dominio scritto male, un TLD sconosciuto, un indirizzo IP, un URL insolitamente lungo), trattalo come faresti con un link sospetto in un'e-mail. Tutto il senso di decodificare prima di scansionare è darti la possibilità di esprimere quel giudizio.