Decoder di codici QR

Trascina qui l'immagine di un codice QR e vedi tutto ciò che il simbolo contiene: il contenuto decodificato diviso nei suoi campi, la versione e il numero di moduli, il livello di correzione d'errore, la maschera, le modalità di codifica e i byte grezzi in esadecimale. La decodifica avviene in questa scheda, quindi l'immagine non lascia mai il tuo dispositivo.

Trascina qui l'immagine di un codice QR, o incollala

PNG, JPG, WebP o GIF

Decodificato nel tuo browser. Il file non viene mai caricato, e nulla che lo riguardi viene conservato o inviato da nessuna parte.

Cosa mostra un decoder di codici QR che uno scanner non mostra

Un decoder di codici QR è un programma che legge un codice QR da un'immagine e riporta i dati memorizzati insieme alla struttura del simbolo che li porta. La fotocamera di un telefono si ferma alla prima parte. La struttura è ciò che spiega perché un codice ha le dimensioni che ha, e cosa è andato storto quando un generatore ha prodotto qualcosa di inatteso.

Le sei cose dentro ogni codice QR

Ogni codice QR, da quello da 21 moduli di un biglietto da visita a quello da 177 moduli, memorizza le stesse sei informazioni. ISO/IEC 18004, lo standard dei codici QR, definisce ciascuna di esse.

  • La versione è la dimensione del simbolo, da 1 a 40. La versione 1 misura 21 x 21 moduli e ogni versione aggiunge quattro moduli per lato, quindi la versione 40 misura 177 x 177.
  • Il livello di correzione d'errore è L, M, Q o H, e recupera all'incirca il 7%, il 15%, il 25% e il 30% del simbolo. Un livello più alto spende una parte maggiore del simbolo in ridondanza, quindi lo stesso contenuto richiede una versione più grande.
  • La maschera è uno di otto pattern, numerati da 0 a 7, che inverte dei moduli perché il codice non abbia grandi aree vuote né forme che imitino un pattern di individuazione. Due codici con dati identici e maschere diverse hanno un aspetto completamente diverso.
  • Le modalità di codifica sono numerica, alfanumerica, byte e kanji. La modalità numerica impacchetta tre cifre in 10 bit e l'alfanumerica due caratteri in 11 bit, mentre la modalità byte spende 8 bit per ogni carattere.
  • Il contenuto è il testo vero e proprio: un link, le credenziali di una rete Wi-Fi, una scheda contatto. Un codice QR memorizza testo e nient'altro; ciò che un telefono ne fa dipende da come il testo comincia.
  • Le parole di codice di correzione d'errore sono la ridondanza Reed-Solomon che permette a un decoder di ricostruire i dati danneggiati. Vengono consumate durante la decodifica, ed è per questo che un decoder mostra il risultato e non le parole di codice.

Decodificato sul tuo dispositivo, password comprese

L'immagine viene decodificata in questa scheda del browser e non viene mai caricata. Per un decoder conta più che per la maggior parte degli strumenti, perché i contenuti che le persone ispezionano sono quelli sensibili: un codice QR Wi-Fi contiene la password della rete come testo in chiaro, e un codice di configurazione dell'autenticazione a due fattori contiene il segreto che genera ogni futuro codice di accesso.

Il decoder mostra la password di una rete Wi-Fi in una riga a sé, perché leggerla è di solito il motivo per cui il codice è stato decodificato. Di un codice a due fattori elenca l'emittente e l'account, ma lascia il segreto nel contenuto grezzo, dove copiarlo deve essere un gesto voluto.

Come decodificare un codice QR da un'immagine

Quattro passi da un file immagine al contenuto completo e alla struttura del codice QR che contiene.

Genera codice QR
  1. 1

    Aggiungi l'immagine

    Trascina un PNG, JPG, WebP o GIF sul pannello, scegli un file, oppure incolla uno screenshot dagli appunti. Tieni nel ritaglio il margine chiaro attorno al codice, perché il decoder lo usa per trovare i bordi del simbolo.

  2. 2

    Leggi il contenuto e i suoi campi

    Il testo decodificato compare per intero, con il suo tipo indicato. I link sono divisi in schema, dominio, percorso e stringa di query; i codici Wi-Fi in nome della rete, tipo di sicurezza e password; le schede contatto in nome, telefono ed e-mail.

  3. 3

    Controlla la struttura del simbolo

    Versione, numero di moduli, livello di correzione d'errore, maschera e modalità di codifica sono elencati sotto il contenuto. Per le versioni da 1 a 20 il decoder mostra anche quanti byte della capacità del simbolo usa il contenuto.

  4. 4

    Ispeziona i byte grezzi se ti servono

    Il dump esadecimale mostra il contenuto esattamente come è memorizzato, prima della decodifica dei caratteri. È il posto in cui cercare un carattere invisibile, un byte order mark o un testo salvato nel set di caratteri sbagliato.

Quando un decoder è lo strumento giusto

Quattro situazioni in cui il solo contenuto non basta e la risposta è la struttura del codice QR.

Fare il debug di un generatore di codici QR

Una libreria di generazione ha prodotto un codice più grande del previsto. Il decoder mostra la causa a colpo d'occhio: il livello di correzione d'errore H dove si voleva M, oppure un contenuto di sole cifre memorizzato in modalità byte invece che in modalità numerica.

Capire perché un codice è così denso

Un lungo URL di tracciamento spinge un codice alla versione 8 o oltre, con moduli troppo piccoli da stampare a 2 cm. La riga della capacità mostra quanti byte usa il contenuto, e la tabella dei campi mostra quali parametri della query si potrebbero togliere.

Controllare cosa contiene davvero un codice Wi-Fi o contatto

Prima di stampare un codice Wi-Fi per gli ospiti, decodificalo e leggi i campi. Un tipo di sicurezza sbagliato o uno spazio di troppo nella password si vede nella tabella e non si vede nel disegno del codice.

Risolvere un enigma con un codice QR

Per un enigma con un codice QR o una prova capture-the-flag, il decoder conferma la versione, il livello di correzione d'errore e la maschera di un codice funzionante, così una decodifica a mano si può confrontare con una risposta nota.

Come si decodifica un codice QR, passo per passo

I dieci passi che ogni decoder di codici QR esegue, in ordine. È la stessa sequenza che segue una persona quando risolve un codice QR a mano.

  • Trova i tre pattern di individuazione

    Il decoder cerca il rapporto 1:1:3:1:1 fra scuro e chiaro che una linea attraverso un pattern di individuazione produce a qualsiasi angolo. Tre pattern danno la posizione, la dimensione e la rotazione del codice QR; l'angolo che ne è privo è quello in basso a destra.

  • Ricava la versione dalla dimensione

    Il numero di moduli deriva dalla distanza fra i pattern di individuazione, e la versione è (moduli - 17) / 4. Le versioni dalla 7 in su memorizzano inoltre il numero di versione due volte, in un blocco di 18 bit accanto ai pattern di individuazione.

  • Leggi le informazioni di formato

    Quindici bit accanto ai pattern di individuazione contengono il livello di correzione d'errore in 2 bit, la maschera in 3 bit e 10 bit di correzione d'errore propria. Le informazioni di formato sono memorizzate due volte, quindi una copia danneggiata non ferma la decodifica.

  • Togli la maschera fissa del formato

    I 15 bit di formato vengono messi in XOR con il pattern fisso 101010000010010 prima di essere collocati, così le informazioni di formato non sono mai tutte zeri. Un decoder applica lo XOR con lo stesso pattern per recuperare i valori reali.

  • Annulla la maschera dei dati

    La maschera indicata nelle informazioni di formato viene applicata di nuovo all'area dati, il che ripristina i moduli originali. La mascheratura riguarda solo i moduli di dati e di correzione d'errore, mai i pattern di individuazione, di temporizzazione o di allineamento.

  • Leggi i moduli nell'ordine a zigzag

    I dati si leggono in colonne larghe due moduli partendo dall'angolo in basso a destra, salendo, poi scendendo nella coppia di colonne successiva, saltando ogni pattern funzionale. Otto moduli formano una parola di codice.

  • Separa i blocchi di parole di codice interlacciati

    I simboli più grandi dividono le loro parole di codice in più blocchi e le interlacciano, così un graffio danneggia un po' di ogni blocco invece che tutto un blocco solo. Il decoder separa di nuovo i blocchi prima di correggerli.

  • Applica la correzione d'errore Reed-Solomon

    Ogni blocco viene controllato e riparato usando le sue parole di codice di correzione d'errore. È il passo che permette a un codice QR di sopravvivere a un logo sul suo centro, e il punto in cui un codice con troppi danni fallisce del tutto invece di restituire dati sbagliati.

  • Leggi l'indicatore di modalità e il conteggio dei caratteri

    Il flusso di bit corretto comincia con un indicatore di modalità di 4 bit: 0001 numerica, 0010 alfanumerica, 0100 byte, 1000 kanji, 0111 ECI. Segue un conteggio dei caratteri, lungo 8 bit per la modalità byte nelle versioni da 1 a 9.

  • Decodifica i segmenti fino al terminatore

    Ogni segmento viene decodificato secondo la sua modalità, e un simbolo può contenerne diversi di seguito. I dati finiscono a un terminatore 0000, dopo il quale la capacità rimanente viene riempita con i byte di riempimento alternati 11101100 e 00010001.

Il generatore di KoloQR con un codice QR in fase di progettazione, pronto da scaricare

Crea un codice che valga la pena decodificare

KoloQR, un generatore di codici QR gratuito con codici QR circolari e a forma personalizzata, crea codici QR statici per link, reti Wi-Fi, e-mail, numeri di telefono e profili social, e li esporta in SVG, PDF, EPS o PNG.

Ogni codice KoloQR viene generato al livello di correzione d'errore H, che è ciò che lascia spazio a un logo e ai motivi decorativi dei moduli. Decodificane uno qui e il pannello della struttura mostra esattamente questo. KoloQR non crea codici QR dinamici, quindi il contenuto che decodifichi è la destinazione stessa, non un reindirizzamento.

Genera codice QR

Questions? Answered

Uno scanner restituisce ciò che il codice QR dice; un decoder restituisce anche come è costruito il simbolo. Questo decoder riporta la versione, il livello di correzione d'errore, la maschera, le modalità di codifica e i byte grezzi insieme al contenuto. Se ti servono solo il contenuto e un punteggio di leggibilità, lo scanner di codici QR è la strada più breve.

Solo fin dove lo permette la correzione d'errore del codice stesso. Un codice QR recupera fra circa il 7% e il 30% del suo simbolo a seconda del livello, e il decoder usa tutto quel margine in automatico. Oltre quel limite, o con un pattern di individuazione mancante, nessun decoder restituisce un risultato, e il codice va ricostruito a mano a partire dalle sue informazioni di formato.

Salva il codice QR come immagine o fanne uno screenshot, poi trascina il file sul decoder di questa pagina. L'immagine viene decodificata nel browser di un portatile o di un computer fisso, senza fotocamera, senza app e senza alcun caricamento. Un codice su carta va prima fotografato o scansionato in un file.

Una maschera è uno di otto pattern fissi che un generatore di codici QR applica all'area dati per spezzare le grandi zone vuote e le forme che somigliano ai pattern di individuazione. Il generatore le prova tutte e otto e tiene quella con il punteggio di penalità più basso. Il numero della maschera scelta viene memorizzato nelle informazioni di formato, così un decoder può invertirla.

Tre impostazioni cambiano il disegno senza cambiare i dati: il livello di correzione d'errore, la maschera e la versione. Due generatori che codificano lo stesso link ai livelli M e H producono disegni diversi, e spesso dimensioni diverse. Decodificali entrambi: il contenuto è identico, mentre le righe della struttura differiscono.

No. Un codice QR memorizza il suo contenuto e le impostazioni strutturali necessarie per leggerlo, e nient'altro. Dentro il simbolo non c'è nessun autore, nessuna data di creazione, nessun identificativo del dispositivo e nessun contatore di scansioni. Informazioni del genere esistono solo per i codici QR dinamici, e sono conservate sul server del fornitore e non nel codice.

Decodifica il codice QR e leggi il dominio. Se il contenuto è l'indirizzo finale che ti aspettavi, il codice è statico. Se il contenuto è un link breve sul dominio di un fornitore di codici QR che inoltra altrove, il codice è dinamico e smette di funzionare se quel fornitore disattiva il link. Codici QR statici e dinamici spiega il compromesso.

Il contenuto viene decodificato dall'intero simbolo con la correzione d'errore, mentre il livello e la maschera si leggono da 15 bit di formato accanto ai pattern di individuazione. Su un'immagine a bassa risoluzione o molto stilizzata, il contenuto può decodificarsi anche se quella piccola area non si riesce a campionare in modo pulito. Un'immagine più grande e nitida dello stesso codice di norma riempie la riga.

No. Il decoder legge solo codici QR, compresi i codici con moduli arrotondati o a punti e i codici chiari su fondo scuro. Data Matrix, Aztec, PDF417 e i codici a barre lineari usano strutture diverse e richiedono un lettore diverso. Nemmeno i codici Micro QR, che hanno un solo pattern di individuazione, sono supportati.

La vista esadecimale mostra il contenuto come i byte memorizzati nel codice QR, prima che vengano interpretati come testo. La maggior parte dei generatori memorizza il testo in UTF-8, quindi le semplici lettere latine compaiono come i loro valori ASCII. La vista rivela ciò che il testo nasconde: un byte order mark iniziale (ef bb bf), un'interruzione di riga finale o uno spazio non separabile dentro una password Wi-Fi.

Perché KoloQR?

  • Crea codici QR per siti web, menù, Wi-Fi, PDF e biglietti da visita
  • Personalizza colori, loghi e forme uniche
  • Scarica file PNG e SVG di alta qualità
  • Pensato sia per la stampa che per il digitale
Genera codice QR
Un semplice codice QR nero accanto allo stesso codice ridisegnato come un cerchio con i colori del brand