Blog
9 min readMoreFreeTools Team

Come i Codici a Barre Codificano i Dati: dalle Strisce del Supermercato ai QR Code

Scopri come i codici a barre codificano i dati tramite pattern binari, cifre di controllo e correzione degli errori. Guida completa a EAN-13, UPC-A, Code 128 e QR code.

come funzionano i codici a barregeneratore di codici a barrecodice a barre EAN-13come creare un codice a barrecodifica codici a barre spiegata

Barcode Generator

Lo strumento gratuito citato in questo articolo — provalo direttamente nel browser.

Apri lo strumento

Ogni volta che un cassiere scansiona i tuoi acquisti al supermercato, un laser sta leggendo uno schema matematico preciso codificato in linee nere e bianche. Ma come fanno i codici a barre a codificare i dati? La risposta è più elegante di quanto la maggior parte delle persone pensi, e capirlo rivela perché i codici a barre sono uno dei sistemi di dati più affidabili mai costruiti. Questa guida spiega i meccanismi di codifica reali dietro ogni formato di codice a barre principale, dalle strisce su una scatola di cereali al QR code sulla tua carta d'imbarco.

Breve Storia: dal Brevetto al Supermercato

La storia inizia con Norman Woodland e Bernard Silver, che depositarono il brevetto statunitense 2612994 nel 1949. Woodland, ispirato dal codice Morse, estese i punti e le linee in barre di larghezze variabili. La tecnologia rimase sostanzialmente inattiva per decenni, finché la scansione laser non divenne praticabile.

La prima scansione commerciale di un codice a barre avvenne il 26 giugno 1974 a Troy, Ohio, quando una confezione di gomme da masticare Wrigley's Juicy Fruit fu scansionata presso un supermercato Marsh. Quella singola scansione dimostrò che il sistema funzionava alla velocità del commercio al dettaglio, e nacque la moderna catena di approvvigionamento.

Oggi GS1, l'organizzazione internazionale di standardizzazione, gestisce gli standard dei codici a barre utilizzati in oltre 150 paesi. Nel mondo vengono scansionati circa 6 miliardi di codici a barre ogni giorno.

Come i Codici a Barre 1D Codificano le Informazioni

I tradizionali codici a barre unidimensionali codificano i dati attraverso la larghezza delle barre e degli spazi alternati. Il concetto chiave è che lo scanner non legge il colore: legge le transizioni tra scuro e chiaro, e misura la larghezza di ciascun elemento.

La maggior parte dei moderni sistemi di codici a barre 1D utilizza un approccio di codifica basato sui moduli. Un "modulo" è la barra o lo spazio più stretto possibile in un dato simbolo. Gli elementi più larghi sono multipli esatti di quella larghezza di modulo. Lo scanner misura le larghezze degli elementi come multipli del modulo e le converte in una stringa binaria, che decodifica tramite una tabella di ricerca definita dallo standard del codice a barre.

EAN-13: Lo Standard Retail Globale

EAN-13 (European Article Number, 13 cifre) è il codice a barre presente su quasi tutti i prodotti di consumo venduti al di fuori del Nord America. La sua struttura è:

Posizione Cifre Significato
1-3 Prefisso paese/regione Prefisso GS1 (es. 800 = Italia)
4-8 Codice produttore Assegnato da GS1 all'azienda
9-12 Codice prodotto Assegnato dal produttore
13 Cifra di controllo Calcolata dalle prime 12

Ogni cifra è codificata come uno schema di 2 barre e 2 spazi che copre esattamente 7 moduli. Le metà sinistra e destra del codice a barre usano tabelle di codifica diverse, e questo permette allo scanner di sapere in quale direzione sta leggendo.

Calcolo della cifra di controllo per EAN-13: La cifra di controllo previene le letture errate. Per la stringa a 12 cifre 590123412345:

  1. Prendi le cifre in posizione dispari (posizioni 1, 3, 5, 7, 9, 11): 5, 0, 2, 4, 2, 4. Somma = 17.
  2. Prendi le cifre in posizione pari (posizioni 2, 4, 6, 8, 10, 12): 9, 1, 3, 1, 3, 5. Moltiplica ciascuna per 3, somma = 66.
  3. Totale = 17 + 66 = 83.
  4. Cifra di controllo = multiplo di 10 successivo meno totale = 90 - 83 = 7.

L'EAN-13 completo è 5901234123457.

UPC-A: Lo Standard Nord Americano

UPC-A è il codice a barre a 12 cifre utilizzato negli Stati Uniti e in Canada. È essenzialmente EAN-13 con uno zero iniziale implicito. La sua struttura:

  • Cifra 1: Cifra del sistema numerico (0 = articolo standard, 2 = prodotto a peso variabile, 3 = farmaci e articoli sanitari, 5 = coupon)
  • Cifre 2-6: Codice produttore (5 cifre, assegnato da GS1 US)
  • Cifre 7-11: Codice prodotto (5 cifre, assegnato dal produttore)
  • Cifra 12: Cifra di controllo (stessa formula con pesi alternati 1/3 di EAN-13)

Code 39: Il Primo Codice a Barre Alfanumerico

Code 39 fu inventato nel 1974, lo stesso anno della prima scansione di codice a barre al dettaglio. Fu il primo codice a barre a codificare lettere oltre che numeri, diventando lo standard per applicazioni industriali, militari e sanitarie per molti anni.

La logica di codifica è incorporata nel nome: ogni carattere è rappresentato da 9 elementi (5 barre e 4 spazi), e esattamente 3 di questi 9 elementi sono larghi. "Tre su nove" dà al Code 39 il suo nome alternativo. Gli elementi larghi rappresentano 1, quelli stretti rappresentano 0, dando a ogni carattere un pattern unico a 9 bit.

Code 39 supporta nativamente le lettere maiuscole A-Z, le cifre 0-9 e i simboli: spazio, $, %, +, -, ., /. Include un carattere di inizio e fine (asterisco, *) che lo scanner riconosce come delimitatori.

Code 128: Codifica ASCII ad Alta Densità

Code 128 è un formato molto più denso che può codificare tutti i 128 caratteri ASCII. Ogni carattere è rappresentato da 3 barre e 3 spazi con larghezze variabili, e la larghezza totale di qualsiasi carattere è sempre esattamente 11 moduli. Questa proprietà a larghezza fissa rende la scansione altamente affidabile.

Code 128 ha tre sottotipi:

Sottotipo Codifica
Code 128A Lettere maiuscole, cifre, caratteri di controllo
Code 128B Lettere maiuscole e minuscole, cifre, caratteri speciali
Code 128C Solo coppie numeriche (la densità delle cifre raddoppia)

Code 128 include un carattere di controllo calcolato come: (valore del simbolo di inizio + somma di ogni valore di simbolo moltiplicato per la sua posizione) mod 103.

Strumento correlato

Barcode Generator

Usalo direttamente nel browser. Nessuna registrazione, nessun download, nessun dato salvato.

Usa lo strumento

QR Code: Codici a Barre 2D e la Correzione degli Errori

I QR code (Quick Response) furono inventati da Denso Wave nel 1994 per tracciare i componenti automobilistici durante la produzione. A differenza dei codici a barre 1D che codificano i dati su un asse, i QR code codificano i dati in una matrice 2D di quadrati neri e bianchi.

I QR code possono contenere molto più dati dei codici a barre 1D:

Tipo di dato Capacità massima
Solo numerico 7.089 caratteri
Alfanumerico 4.296 caratteri
Binario (byte) 2.953 byte
Caratteri Kanji 1.817 caratteri

Come i QR Code Memorizzano i Dati

Un QR code è diviso in regioni funzionali. I tre grandi quadrati in tre angoli sono i pattern di ricerca (finder patterns), che permettono allo scanner di localizzare e orientare il codice indipendentemente dalla rotazione o dall'angolo. I quadrati più piccoli sono i pattern di allineamento utilizzati per la correzione della distorsione.

I dati sono codificati nelle celle rimanenti usando la correzione degli errori Reed-Solomon. I dati codificati sono divisi in codeword di dati e codeword di correzione errori. Queste codeword vengono posizionate nella matrice seguendo un percorso a zigzag specifico, quindi viene applicato un pattern di mascheratura per evitare grandi aree uniformi che confonderebbero gli scanner.

Correzione degli Errori Reed-Solomon: Perché i QR Code Resistono ai Danni

Questa è la funzionalità che rende i QR code straordinari. Reed-Solomon è un algoritmo matematico che aggiunge dati ridondanti accanto ai dati originali. Se parte del QR code è danneggiata, oscurata o mancante, i dati ridondanti permettono allo scanner di ricostruire il messaggio originale.

I QR code supportano quattro livelli di correzione degli errori:

Livello Dati ripristinati Uso tipico
L (Basso) ~7% Ambienti puliti
M (Medio) ~15% Uso generale
Q (Quartile) ~25% Ambienti industriali
H (Alto) ~30% Quando si aggiunge un logo

Ecco perché puoi mettere il logo di un'azienda al centro di un QR code e funziona ancora: il logo copre alcune celle, ma la ridondanza Reed-Solomon permette allo scanner di ricostruire i dati mancanti.

Confronto tra Formati

Formato Tipo Caratteri massimi Correzione errori Uso comune
EAN-13 1D 13 cifre Cifra di controllo Prodotti al dettaglio globali
UPC-A 1D 12 cifre Cifra di controllo Prodotti al dettaglio in Nord America
Code 39 1D Variabile Cifra di controllo opzionale Industriale, militare, sanitario
Code 128 1D Variabile (tutti ASCII) Carattere di controllo Spedizioni, logistica
QR Code 2D Fino a 7.089 numerici Reed-Solomon (7-30%) URL, pagamenti, biglietti

Domande Frequenti

Perché ogni codice a barre ha una cifra di controllo?

Una cifra di controllo è una cifra derivata matematicamente aggiunta ai dati del codice a barre. Quando uno scanner legge il codice a barre, ricalcola la cifra di controllo dai dati che ha letto e la confronta con quella stampata. Se non corrispondono, lo scanner rifiuta la lettura e riprova. Questo rileva l'errore di scansione più comune: la lettura errata di una singola cifra a causa di una barra sbavata o di rumore dello scanner.

Qual è la differenza tra EAN-13 e UPC-A?

UPC-A è un sistema a 12 cifre sviluppato negli Stati Uniti nel 1974. EAN-13 è un sistema a 13 cifre sviluppato in Europa nel 1976 come superset di UPC-A. Ogni codice a barre UPC-A può essere convertito in EAN-13 aggiungendo uno zero iniziale. Gli scanner moderni leggono entrambi i formati. GS1 gestisce ora entrambi nell'ambito di un framework unificato.

Perché i QR code possono avere loghi?

I QR code possono avere loghi perché la correzione degli errori Reed-Solomon aggiunge dati ridondanti al codice. Quando un logo copre parte delle celle del QR code, quelle celle coperte vengono trattate come cancellazioni. L'algoritmo Reed-Solomon può ricostruire i dati cancellati finché il danno totale non supera il livello di correzione degli errori. Usando il livello H (ripristino del 30%), un designer può coprire in modo sicuro fino al 30% circa dell'area del QR code con un logo.

Cosa significa Code 128?

"Code 128" si riferisce al fatto che lo standard codifica il set completo di 128 caratteri ASCII. Il nome descrive l'ampiezza del set di caratteri, non il numero di barre o moduli. Code 128 fu sviluppato da Computer Identics Corporation nel 1981 e divenne uno dei formati di codice a barre lineare più utilizzati grazie alla sua densità e alla copertura ASCII completa.


Pronto a generare il tuo codice a barre? Usa il Barcode Generator per creare EAN-13, UPC-A, Code 128, Code 39 o QR code istantaneamente, senza installare software.

Strumento correlato

Barcode Generator

Usalo direttamente nel browser. Nessuna registrazione, nessun download, nessun dato salvato.

Usa lo strumento