Tipi di codici a barre: confronto tra tutte le simbologie e lettori necessari
I codici a barre si dividono in lineari (1D), come EAN-13, UPC, Code 128, Code 39 e ITF, e bidimensionali (2D), come QR Code, Data Matrix e PDF417. Ogni simbologia ha un proprio set di caratteri, una lunghezza tipica e regole sulla cifra di controllo. Per scegliere il lettore conta soprattutto questo: i laser leggono solo 1D, per i 2D serve un imager.
In breve: nel commercio al dettaglio trovi quasi solo EAN-13 (e UPC sui prodotti americani). In magazzino e logistica dominano Code 128, GS1-128 e ITF-14. Nei documenti, nei farmaci e nella sanità crescono QR Code e GS1 DataMatrix. Se il tuo lettore emette un errore o non reagisce su un certo codice, la prima domanda è sempre: quella simbologia è abilitata e il lettore è fisicamente in grado di leggerla?
Tabella comparativa delle simbologie
La prima tabella riassume la struttura: cosa può contenere ogni simbologia e come si comporta la cifra di controllo. La seconda tabella, più sotto, è quella pratica per chi deve configurare o comprare un lettore.
| Simbologia | Tipo | Caratteri | Lunghezza tipica | Cifra di controllo |
|---|---|---|---|---|
| EAN-13 | 1D | Solo cifre | 13 fisse | Obbligatoria, mod 10 GS1 |
| EAN-8 | 1D | Solo cifre | 8 fisse | Obbligatoria, mod 10 GS1 |
| UPC-A | 1D | Solo cifre | 12 fisse | Obbligatoria, mod 10 GS1 |
| UPC-E | 1D | Solo cifre | 8 (6 codificate più sistema e controllo) | Obbligatoria, calcolata sull'UPC-A espanso |
| Code 128 | 1D | ASCII completo (0-127), più FNC | Variabile | Obbligatoria mod 103, mai trasmessa |
| GS1-128 | 1D | Sottoinsieme GS1 di ASCII | Variabile, massimo 48 caratteri dati | Mod 103 del simbolo più cifre GS1 nei dati (GTIN, SSCC) |
| Code 39 | 1D | 0-9, A-Z, spazio e - . $ / + % | Variabile | Facoltativa, mod 43 |
| Code 32 (farmacodice italiano) | 1D (stampato come Code 39) | Solo cifre dopo la decodifica | 9 cifre | Interna al codice AIC |
| Interleaved 2 of 5 | 1D | Solo cifre, numero pari | Variabile (pari) | Facoltativa, mod 10 |
| ITF-14 | 1D | Solo cifre | 14 fisse | Obbligatoria, mod 10 GS1 |
| GS1 DataBar | 1D (alcune varianti impilate) | Cifre (Omni, Limited); cifre e lettere (Expanded) | 14 cifre, Expanded fino a 74 cifre | Interna al simbolo più GTIN |
| Codabar | 1D | 0-9 e - $ : / . +, start/stop A-D | Variabile | Facoltativa |
| Code 93 | 1D | Come Code 39, con modalità ASCII completo | Variabile | Due caratteri obbligatori (C e K), di solito non trasmessi |
| QR Code | 2D matrice | Numerico, alfanumerico, byte, kanji | Fino a 7089 cifre | Correzione errori Reed-Solomon (L, M, Q, H) |
| Data Matrix | 2D matrice | ASCII completo e byte | Fino a 3116 cifre | Correzione errori Reed-Solomon (ECC 200) |
| PDF417 | 2D impilato | Testo, numeri, byte | Fino a circa 1850 caratteri di testo | Correzione errori livelli 0-8 |
Quale lettore serve per ogni simbologia
Questa è la tabella da tenere a portata di mano quando un lettore "non legge un codice". Lo stato "abilitata di solito" si riferisce alle impostazioni di fabbrica più comuni sui lettori professionali: varia da modello a modello, quindi verifica sempre sul manuale (Product Reference Guide) del tuo lettore.
| Simbologia | Uso tipico | Lettore necessario | Abilitata di fabbrica | AIM ID |
|---|---|---|---|---|
| EAN-13 / UPC-A | Prodotti al dettaglio, libri (ISBN) | Qualsiasi: laser, lineare, 2D, telefono | Quasi sempre sì | ]E0 |
| EAN-8 | Confezioni piccole | Qualsiasi | Quasi sempre sì | ]E4 |
| Code 128 | Logistica, etichette interne, spedizioni | Qualsiasi | Quasi sempre sì | ]C0 |
| GS1-128 | Etichette pallet e cartoni, lotti e scadenze | Qualsiasi (lunghi: meglio lineare o 2D) | Di solito sì | ]C1 |
| Code 39 | Tessera sanitaria, industria, inventario | Qualsiasi | Spesso sì | ]A0 |
| Code 32 | Bollino farmaci italiano (AIC) | Qualsiasi | Spesso no: va attivato | Dipende dal modello |
| ITF / ITF-14 | Cartoni, imballi secondari | Qualsiasi | Spesso sì, con limiti di lunghezza | ]I0 |
| GS1 DataBar | Ortofrutta, prodotti freschi, coupon | Lineare o 2D (le varianti impilate: 2D) | Varia molto | ]e0 |
| Codabar | Biblioteche, vecchi sistemi sanitari | Qualsiasi | Spesso no | ]F0 |
| QR Code | URL, pagamenti, biglietti, documenti | Solo imager 2D o telefono | Sì sui 2D | ]Q1 |
| Data Matrix | Farmaci, sanità, marcatura pezzi | Solo imager 2D o telefono | Sì sui 2D | ]d1 / ]d2 GS1 |
| PDF417 | Carte d'imbarco, documenti, etichette di trasporto | Imager 2D | Spesso sì sui 2D | ]L2 (verifica) |
Gli identificatori AIM elencati sono quelli più comuni; il carattere finale (modificatore) cambia in base a opzioni come la cifra di controllo o la modalità ASCII esteso. Per vederli in uscita devi attivare la trasmissione dell'identificatore: trovi la procedura nella pagina sull'identificatore di simbologia AIM.
Come riconoscere una simbologia a occhio
Prima di cambiare impostazioni al lettore conviene capire che codice hai davanti. Qualche indizio visivo affidabile:
- Cifre sotto il codice, prima cifra fuori dalle barre, barre di guardia più lunghe ai lati e al centro: è un EAN-13. Con 8 cifre divise in due gruppi da 4 è un EAN-8; con 12 cifre e la prima e l'ultima piccole ai lati è un UPC-A.
- Testo leggibile racchiuso tra asterischi (per esempio
*ABC123*): quasi certamente Code 39, perché l'asterisco è il carattere di start/stop. - Cifre con parentesi come
(01),(17),(10): è un codice GS1, di solito GS1-128 se lineare, GS1 DataMatrix se quadrato. - Codice numerico circondato da una cornice spessa (le "barre di supporto") su un cartone: ITF-14.
- Tre quadrati negli angoli: QR Code. Bordo a L continuo e due lati tratteggiati: Data Matrix. Rettangolo largo fatto di righe sovrapposte: PDF417.
Se non sei sicuro, il metodo più rapido è leggerlo con un imager 2D o con il lettore online con fotocamera, che riporta anche il tipo di simbologia rilevata.
Cosa riceve il PC: la simbologia non si vede
Un punto che confonde molti: in emulazione tastiera il PC riceve solo i caratteri, non l'informazione su che codice era. 12345678 può arrivare da un EAN-8, da un Code 128 o da un ITF, e il gestionale non ha modo di distinguerli. Se il tuo software deve sapere da quale simbologia proviene il dato (per esempio per trattare in modo diverso EAN e GS1-128), le strade sono due: attivare l'identificatore AIM come prefisso, oppure usare un collegamento seriale o HID POS che trasporta anche il tipo di simbologia.
Lettura EAN-13 con AIM ID attivo: ]E08001234567897 Lettura Code 128 con AIM ID attivo: ]C0MAG-A12 Lettura GS1-128 con AIM ID attivo: ]C1011800123456789417271231
Per controllare cosa trasmette davvero il tuo lettore, carattere per carattere e con eventuali prefissi e suffissi invisibili, usa il test del lettore di codici a barre.
Quale simbologia usare per le tue etichette
Se devi stampare codici in proprio, la scelta segue poche regole:
| Esigenza | Scelta consigliata | Perché |
|---|---|---|
| Prodotto venduto nella grande distribuzione | EAN-13 con codice GS1 assegnato | È l'unico accettato dalle casse; serve l'adesione a GS1 Italy |
| Codici interni di magazzino, ubicazioni, articoli | Code 128 | Compatto, ASCII completo, cifra di controllo robusta |
| Etichette con lotto, scadenza, peso | GS1-128 o GS1 DataMatrix | Gli Application Identifier rendono i dati interpretabili da chiunque |
| Compatibilità con lettori molto vecchi | Code 39 | Supportato ovunque, ma occupa molto spazio |
| Molti dati in poco spazio, lettura da telefono | QR Code | Alta capacità, correzione errori, nessun lettore dedicato |
| Marcatura di pezzi piccoli o farmaci | Data Matrix | Il più compatto per pochi dati; standard in sanità |
Per stampare etichette di prova nelle simbologie lineari più comuni puoi usare il generatore di codici a barre; per i 2D c'è il generatore di QR code.
Errori comuni
- Comprare un lettore laser per leggere QR Code. Il laser legge una sola riga: un codice 2D non sarà mai decodificato, a prescindere dalle impostazioni. Vedi laser, CCD o imager 2D.
- Pensare che il lettore sia guasto perché non legge un solo tipo di codice. Nella maggior parte dei casi la simbologia è disabilitata o ha limiti di lunghezza: vedi il lettore legge solo alcuni codici.
- Abilitare tutte le simbologie "per sicurezza". Aumenta il rischio di letture errate, soprattutto con ITF e Codabar, che possono essere riconosciuti per errore in codici parziali. Abilita solo quelle che usi.
- Usare Code 39 per codici lunghi. Con 20 o più caratteri diventa lunghissimo; Code 128 codifica lo stesso contenuto in molto meno spazio.
Domande frequenti
Qual è il codice a barre più usato in Italia?
Sui prodotti di consumo è l'EAN-13, presente su praticamente ogni confezione venduta nei negozi. Nella logistica sono molto diffusi GS1-128 e ITF-14, mentre il QR Code domina per pagamenti, documenti e biglietti.
Un lettore 2D legge anche i codici lineari?
Sì. Un imager 2D legge sia i codici lineari sia quelli bidimensionali, in qualsiasi orientamento e di solito anche da schermo. Il contrario non vale: laser e imager lineari leggono solo 1D.
Come faccio a sapere quali simbologie legge il mio lettore?
Cerca la sezione "Symbologies" nel manuale del tuo modello: elenca tutte le simbologie supportate con lo stato predefinito. Molti software di configurazione mostrano lo stesso elenco con caselle da spuntare. La procedura è nella guida su come abilitare le simbologie.
QR Code e Data Matrix sono intercambiabili?
Tecnicamente contengono dati simili, ma gli ambiti sono diversi: il Data Matrix è lo standard GS1 per sanità, farmaci e marcatura industriale, il QR Code è preferito per contenuti rivolti al pubblico e per la lettura con lo smartphone.
Fonti e riferimenti
- GS1 General Specifications, GS1
- ISO/IEC 15420 (EAN/UPC), ISO/IEC 15417 (Code 128), ISO/IEC 16388 (Code 39), ISO/IEC 18004 (QR Code), ISO/IEC 16022 (Data Matrix), ISO/IEC 15438 (PDF417), ISO
- GS1 Italy, informazioni su codici GS1 e adesione, gs1it.org
- Product Reference Guide dei lettori Zebra, Honeywell e Datalogic, sezioni sulle simbologie e sugli identificatori AIM
Altro in Tipi di codici a barre
- Code 128: struttura, set A B C e impostazioni lettore
- Code 39: caratteri, mod 43, Code 32 e impostazioni
- Data Matrix e GS1 DataMatrix: struttura e lettura
- EAN-13 ed EAN-8: struttura, prefissi e lettura
- GS1-128 e Application Identifier: guida pratica
- GS1 DataBar: varianti, uso e impostazioni del lettore
- Interleaved 2 of 5 e ITF-14: struttura e lettura
- PDF417: struttura, capacità e lettori compatibili
- QR Code: struttura, capacità e lettura con lo scanner
- UPC-A e UPC-E: struttura, conversioni e lettura