Lettore gratuito di codici QR online

Carica un'immagine o trascina e rilascia un QR code per decodificarne il contenuto all'istante.

Decodificato localmente · le tue immagini non vengono mai inviate

Rilascia qui un'immagine di QR code o clicca per caricare

Supporta PNG, JPG, GIF, BMP, WebP

Contenuto decodificato

Come usare questo lettore di QR code

  1. Clicca sull'area di caricamento o trascina e rilascia un'immagine contenente un QR code.
  2. Lo strumento decodifica il QR code all'istante e visualizza il suo contenuto.
  3. 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?

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:

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):

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

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:

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.

Strumenti correlati