Tipi di codici a barre

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.

Struttura delle simbologie più diffuse
SimbologiaTipoCaratteriLunghezza tipicaCifra di controllo
EAN-131DSolo cifre13 fisseObbligatoria, mod 10 GS1
EAN-81DSolo cifre8 fisseObbligatoria, mod 10 GS1
UPC-A1DSolo cifre12 fisseObbligatoria, mod 10 GS1
UPC-E1DSolo cifre8 (6 codificate più sistema e controllo)Obbligatoria, calcolata sull'UPC-A espanso
Code 1281DASCII completo (0-127), più FNCVariabileObbligatoria mod 103, mai trasmessa
GS1-1281DSottoinsieme GS1 di ASCIIVariabile, massimo 48 caratteri datiMod 103 del simbolo più cifre GS1 nei dati (GTIN, SSCC)
Code 391D0-9, A-Z, spazio e - . $ / + %VariabileFacoltativa, mod 43
Code 32 (farmacodice italiano)1D (stampato come Code 39)Solo cifre dopo la decodifica9 cifreInterna al codice AIC
Interleaved 2 of 51DSolo cifre, numero pariVariabile (pari)Facoltativa, mod 10
ITF-141DSolo cifre14 fisseObbligatoria, mod 10 GS1
GS1 DataBar1D (alcune varianti impilate)Cifre (Omni, Limited); cifre e lettere (Expanded)14 cifre, Expanded fino a 74 cifreInterna al simbolo più GTIN
Codabar1D0-9 e - $ : / . +, start/stop A-DVariabileFacoltativa
Code 931DCome Code 39, con modalità ASCII completoVariabileDue caratteri obbligatori (C e K), di solito non trasmessi
QR Code2D matriceNumerico, alfanumerico, byte, kanjiFino a 7089 cifreCorrezione errori Reed-Solomon (L, M, Q, H)
Data Matrix2D matriceASCII completo e byteFino a 3116 cifreCorrezione errori Reed-Solomon (ECC 200)
PDF4172D impilatoTesto, numeri, byteFino a circa 1850 caratteri di testoCorrezione 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.

Lettore necessario, abilitazione di fabbrica e identificatore AIM
SimbologiaUso tipicoLettore necessarioAbilitata di fabbricaAIM ID
EAN-13 / UPC-AProdotti al dettaglio, libri (ISBN)Qualsiasi: laser, lineare, 2D, telefonoQuasi sempre sì]E0
EAN-8Confezioni piccoleQualsiasiQuasi sempre sì]E4
Code 128Logistica, etichette interne, spedizioniQualsiasiQuasi sempre sì]C0
GS1-128Etichette pallet e cartoni, lotti e scadenzeQualsiasi (lunghi: meglio lineare o 2D)Di solito sì]C1
Code 39Tessera sanitaria, industria, inventarioQualsiasiSpesso sì]A0
Code 32Bollino farmaci italiano (AIC)QualsiasiSpesso no: va attivatoDipende dal modello
ITF / ITF-14Cartoni, imballi secondariQualsiasiSpesso sì, con limiti di lunghezza]I0
GS1 DataBarOrtofrutta, prodotti freschi, couponLineare o 2D (le varianti impilate: 2D)Varia molto]e0
CodabarBiblioteche, vecchi sistemi sanitariQualsiasiSpesso no]F0
QR CodeURL, pagamenti, biglietti, documentiSolo imager 2D o telefonoSì sui 2D]Q1
Data MatrixFarmaci, sanità, marcatura pezziSolo imager 2D o telefonoSì sui 2D]d1 / ]d2 GS1
PDF417Carte d'imbarco, documenti, etichette di trasportoImager 2DSpesso 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:

Scelta della simbologia in base all'esigenza
EsigenzaScelta consigliataPerché
Prodotto venduto nella grande distribuzioneEAN-13 con codice GS1 assegnatoÈ l'unico accettato dalle casse; serve l'adesione a GS1 Italy
Codici interni di magazzino, ubicazioni, articoliCode 128Compatto, ASCII completo, cifra di controllo robusta
Etichette con lotto, scadenza, pesoGS1-128 o GS1 DataMatrixGli Application Identifier rendono i dati interpretabili da chiunque
Compatibilità con lettori molto vecchiCode 39Supportato ovunque, ma occupa molto spazio
Molti dati in poco spazio, lettura da telefonoQR CodeAlta capacità, correzione errori, nessun lettore dedicato
Marcatura di pezzi piccoli o farmaciData MatrixIl 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

Tutta la sezione Tipi di codici a barre