Generatore gratuito di codici a barre online
Genera codici a barre nei formati popolari. Personalizza e scarica in PNG o SVG.
Breve storia del codice a barre
Il codice a barre è una tecnologia di 77 anni con un singolo momento di invenzione. Nel 1948, il preside del Drexel Institute of Technology di Filadelfia sentì per caso Bernard Silver, uno studente laureato, parlare con il presidente di una catena alimentare locale del problema di leggere automaticamente i dati di prodotto alla cassa. Il preside rifiutò la richiesta, ma Silver portò l'idea a un istruttore di ventisette anni che conosceva, Norman Joseph Woodland, ex boy scout con una buona padronanza del codice Morse e l'inquietudine tipica di un ingegnere. Woodland si dimise dalla Drexel quello stesso inverno, si trasferì nell'appartamento del nonno a Miami Beach, e in un pomeriggio di inizio 1949, mentre passava distrattamente le quattro dita nella sabbia, gli arrivò la soluzione: prendendo i punti e le linee del codice Morse e tirandoli verso il basso, si ottenevano una serie di bande sottili e spesse che un raggio di luce poteva attraversare per produrre impulsi decodificabili. Il suo primo schizzo nella sabbia non furono linee parallele ma cerchi concentrici, un disegno a "bersaglio" leggibile in qualunque direzione di scansione. Woodland e Silver depositarono il brevetto il 20 ottobre 1949 e lo ottennero il 7 ottobre 1952 come brevetto USA 2.612.994, "Classifying Apparatus and Method", con un lettore proposto basato su una lampadina a incandescenza da 500 watt. Il brevetto non era commercialmente valido: i laser e i fotodiodi necessari per leggerlo a prezzi di consumo non esistevano ancora. I due inventori vendettero il brevetto a Philco per 15.000 dollari nel 1962. Silver morì l'anno successivo in un incidente d'auto, a 38 anni, prima che un solo codice a barre avesse mai scansionato un prodotto.
Il punto di svolta arrivò due decenni dopo quando George Joseph Laurer, nel laboratorio IBM di Research Triangle Park in North Carolina, propose un'alternativa rettangolare (barre verticali invece di cerchi concentrici) che divenne l'Universal Product Code (UPC). Il Symbol Selection Committee adottò il design IBM il 3 aprile 1973. La prima scansione UPC commerciale avvenne il 26 giugno 1974 al Marsh Supermarket di Troy, Ohio: un pacchetto da 10 di gomma Wrigley's Juicy Fruit da 67 centesimi, fatto passare su uno scanner costruito da NCR dalla cassiera Sharon Buchanan e consegnato da Clyde Dawson, dirigente della National Cash Register Company che aveva costruito l'apparecchiatura. La confezione è oggi conservata allo Smithsonian Museum of American History. Entro un decennio la scansione UPC era universale nei negozi di alimentari USA, e nel 1976 il consorzio dei rivenditori europei adottò EAN-13 (European Article Number, ora GTIN-13 nella terminologia GS1), lo stesso formato con una cifra extra per il prefisso del paese e oggi lo standard mondiale fuori dal Nord America. L'intero ecosistema moderno dei codici a barre (cassa del supermercato, etichette di spedizione, libri di biblioteca, braccialetti ospedalieri, badge di conferenza, tracciamento beni) discende da quelle quattro linee nella sabbia di Miami Beach.
Guida ai formati di codici a barre
- UPC-A (Universal Product Code, 1973). 12 cifre inclusa una cifra di controllo; il codice a barre retail dominante negli Stati Uniti e in Canada. Codifica un prefisso del produttore (assegnato da GS1) e un numero di prodotto. Il formato di codice a barre più scansionato al mondo.
- EAN-13 · codice a barre standard usato nel commercio mondiale (eccetto US/Canada). Richiede esattamente 12 cifre (la 13ª è una cifra di controllo).
- EAN-8 · versione compatta per piccoli prodotti. Richiede esattamente 7 cifre.
- Code 39 (Intermec, 1974). Alfanumerico (lettere maiuscole A-Z, cifre 0-9, più
- . $ / + % *e spazio). Il codice a barre industriale legacy: patenti di guida, etichette di equipaggiamento militare, braccialetti ospedalieri. Densità di dati più bassa di Code 128 (circa 9 barre larghe-o-strette per carattere) e nessuna cifra di controllo integrata. Auto-controllante per design: ogni carattere inizia e finisce con una barra, quindi una singola lettura errata è strutturalmente rilevabile. ISO/IEC 16388. - Code 128 (Computer Identics, 1981). ASCII completo (tutti i 128 caratteri, più quattro codici funzione); formato ad alta densità a lunghezza variabile con una cifra di controllo obbligatoria. Tre sub-codici: A (caratteri di controllo + maiuscole + cifre), B (maiuscole + minuscole + cifre), C (coppie di cifre codificate come un singolo carattere: "12" è un carattere, metà della larghezza). Il formato dominante per le etichette di spedizione in tutto il mondo: le etichette di UPS, FedEx, DHL e USPS Priority Mail sono tutte Code 128. ISO/IEC 15417.
- ITF-14 (Interleaved 2 of 5). Codifica esattamente 14 cifre; lo standard GS1 per i GTIN dei cartoni di spedizione (la scatola che contiene i prodotti retail). Numerico ad alta densità: intercala barre e spazi di due caratteri per coppia, raggiungendo circa 4 elementi larghi-o-stretti per cifra. Sempre 14 cifre perché è la lunghezza GTIN-14 standardizzata da GS1. ISO/IEC 16390.
- Codabar (1972). Numerico più 6 lettere (A-D come caratteri di start/stop); usato storicamente da FedEx, banche del sangue, sviluppatori di foto e sistemi di checkout delle biblioteche. In gran parte legacy ora: le nuove applicazioni usano Code 128 o Code 39.
- Pharmacode · usato negli imballaggi farmaceutici. Solo numerico (3-131.070).
Cifre di controllo: la matematica che cattura le letture errate
La maggior parte dei codici a barre retail include una cifra di controllo finale calcolata dalle cifre precedenti. La matematica cattura letture errate di una singola cifra (l'errore più comune dello scanner) e la maggior parte delle trasposizioni di cifre adiacenti. UPC-A ed EAN-13 usano un algoritmo modulo-10: partendo da destra, moltiplica ogni cifra alternativamente per 1 e 3 (UPC-A) o 3 e 1 (EAN-13), somma i prodotti, prendi il risultato modulo 10, e sottrai da 10: il risultato è la cifra di controllo (0 se il modulo era 0). Per il codice UPC-A 03600029145, la cifra di controllo è 7, dando il completo 036000291452 su una lattina di Coca-Cola. Code 128 usa una somma pesata modulo-103 più complessa che include il carattere di start. Code 39 è auto-controllante per design (il pattern di barre di ogni carattere è strutturalmente non ambiguo) ma aggiunge opzionalmente una cifra di controllo modulo-43 per applicazioni ad alta confidenza. Pharmacode non ha cifra di controllo, basandosi invece sul suo intervallo limitato e sul contesto della linea di produzione. Questo strumento calcola le cifre di controllo automaticamente; puoi inserire o il payload grezzo (e lo strumento aggiunge la cifra di controllo) o il payload completo più controllo (e lo strumento la valida).
La quiet zone: le barre hanno bisogno di spazio vuoto attorno
Ogni codice a barre 1D richiede una quantità minima di spazio vuoto ai bordi sinistro e destro: la quiet zone. Il requisito standard è di almeno 10× la larghezza della barra più stretta (denotata "X" nelle specifiche dei codici a barre) su ciascun lato. Senza quiet zone, gli scanner non possono rilevare in modo affidabile dove inizia e finisce il codice a barre; i pattern di start e end della simbologia sono progettati per essere inequivocabili solo quando contrastati con uno spazio veramente vuoto. Il fallimento di produzione più comune è schiacciare un codice a barre contro un bordo colorato o un altro elemento dell'etichetta per risparmiare spazio, rompendo la quiet zone. Le specifiche GS1 impongono la larghezza della quiet zone per simbologia e dimensione X; fallire il controllo della quiet zone in fase di validazione significa che il codice a barre non scansionerà in modo affidabile nel retail. Questo strumento emette le quiet zone proprie automaticamente: sia l'output PNG che SVG includono i margini richiesti.
JsBarcode: la libreria sottostante
Questo strumento usa JsBarcode (Johan Lindell, MIT-licensed, ~5k stelle GitHub): la libreria di codici a barre open-source JavaScript più ampiamente usata. JsBarcode supporta CODE128, EAN (8/13), UPC, CODE39, ITF-14, MSI, Pharmacode e Codabar; rende a SVG, Canvas o img HTML; e si distribuisce come bundle minificato single-file di 60 KB. Gira interamente nel browser: nessun server, nessun upload, che è esattamente la proprietà di privacy da cui dipende questo strumento. La versione specifica caricata qui è JsBarcode 3.11.6 (il bundle all-symbology), fissata via Subresource Integrity (SRI) hash così che un attaccante che compromette la CDN non possa sostituire una versione diversa. La libreria è ampiamente usata nei plugin WordPress, nelle utility per la stampa di etichette, nei sistemi POS dei ristoranti e nelle app di inventario per piccole imprese; è la ragione per cui un "generatore di codici a barre gratuito basato sul browser" è un prodotto valido in primo luogo.
GS1: da dove vengono i veri codici a barre del retail
GS1 (Global Standards 1) è l'organismo non-profit di standard che mantiene UPC, EAN, GTIN-13/14, GLN (Global Location Number) e il sistema GS1-128 Application Identifier usato nelle spedizioni. GS1 ha circa 117 Member Organisation a livello nazionale operanti in oltre 150 paesi; i produttori si registrano alla loro organizzazione GS1 nazionale, pagano una quota di licenza annuale (il prezzo scala con il fatturato dell'azienda e il numero di prodotti) e ricevono un prefisso produttore unico che diventa le cifre iniziali di ogni GTIN del prodotto. Questo significa: se vuoi un UPC o EAN che i rivenditori scansioneranno effettivamente e si fideranno come tuo prodotto, hai bisogno della membership GS1. Un codice a barre generato qui con cifre arbitrarie sembrerà un UPC e scansionerà come un UPC, ma il prefisso del produttore non sarà registrato a te e il POS del rivenditore potrebbe segnalarlo come prodotto sconosciuto o rifiutare di onorarlo. Per il tracciamento beni interno, cataloghi di biblioteca, badge di conferenza, etichette di aula e usi non retail simili, la questione GS1 è discutibile: genera tutte le cifre che vuoi.
Casi d'uso comuni
- Etichettatura prodotti retail. UPC/EAN del mondo reale, ma hai bisogno della membership GS1 per il prefisso del produttore.
- Tagging dei beni. Codici inventario interni per attrezzatura ufficio, libri di biblioteca, campioni di laboratorio, esemplari da museo. Code 128 con un prefisso custom è lo standard.
- Etichette di spedizione. Code 128 (con GS1 Application Identifier per la serializzazione) o ITF-14 per i cartoni esterni.
- Badge di conferenza. I partecipanti scansionano in entrata alle sessioni; il badge tipicamente codifica l'ID di registrazione. Code 128 o Code 39 funzionano bene.
- Biglietti per eventi. Biglietti del cinema, biglietti di concerto, biglietti sportivi: codificano l'assegnazione del posto e un ID di transazione unico.
- Inventario per piccole imprese. Venditori Etsy, librerie indipendenti, negozi vintage usano Code 128 per SKU interni senza pagare per la membership GS1.
- Checkout per aula e biblioteca. Code 39 è il default storico per i sistemi di biblioteca (fin dagli anni '70): molti sistemi di catalogazione di biblioteca più vecchi se lo aspettano ancora.
Scegliere il formato giusto
Per uso generale (tag beni, inventario interno, badge di conferenza), scegli Code 128: ASCII completo, alta densità, funziona ovunque. Per prodotti retail venduti nei negozi, scegli UPC-A (USA/Canada) o EAN-13 (resto del mondo), e ricorda che hai bisogno di un prefisso produttore registrato GS1. Per cartoni di spedizione, scegli ITF-14 (lo standard per cartoni esterni che contengono prodotti retail). Per applicazioni logistiche e militari dove Code 39 è imposto da un sistema esistente, scegli Code 39. Per prodotti piccoli dove un EAN-13 completo non entra, scegli EAN-8. Pharmacode è di nicchia e saprai se ne hai bisogno. La regola "Code 128 di default" copre la maggior parte dei casi d'uso non retail.
PNG contro SVG: scegli l'output giusto
SVG è la scelta giusta per la stampa e qualsiasi contesto in cui il codice a barre potrebbe essere ridimensionato. SVG è basato su vettori: le larghezze delle barre restano nette a qualsiasi scala, da una miniatura di 1 cm su un'etichetta a un cartello di 50 cm. Il file è XML semplice (tipicamente 2-5 KB per un singolo codice a barre) e può essere incorporato inline in HTML, aperto in software di design vettoriale (Illustrator, Inkscape, Affinity Designer) o inviato a stampatori commerciali senza perdita di qualità. PNG è la scelta giusta per contesti digitali dove la dimensione è fissa e il consumatore non supporta SVG: email, software POS più vecchio, app desktop di stampa di etichette che si aspettano raster. L'output PNG qui è renderizzato a 2× di risoluzione per nitidezza retina; il file è tipicamente 5-15 KB. La regola generale: se lo stampi, scegli SVG; se lo invii via email o lo incolli in un'app vecchia, scegli PNG.
Privacy: perché solo browser conta qui
I codici a barre in sé non sono segreti, ma i valori codificati spesso lo sono. I codici interni dei beni rivelano la struttura organizzativa. Le etichette di spedizione rivelano relazioni con fornitori e indirizzi dei clienti. I codici di checkout della biblioteca rivelano i pattern di lettura del lettore. Generare codici a barre su un server significa che i valori attraversano la rete e finiscono nei log del server. Questo strumento codifica tutto nel tuo browser tramite JsBarcode: verifica nel pannello Network di DevTools mentre clicchi Genera, oppure metti la pagina offline (modalità aereo) dopo che si è caricata e lo strumento continua a funzionare. Sicuro per l'etichettatura di SKU interni, codici di tracciamento beni, generazione di badge di conferenza o qualsiasi valore di codice a barre che non vorresti vedere copiato sul disco di uno sconosciuto.
Domande frequenti
Quale formato dovrei usare?
Code 128 è il default più sicuro per uso generale: ASCII completo, alta densità, funziona su ogni scanner moderno. Scegli EAN-13 (internazionale) o UPC-A (USA/Canada) per codici a barre di prodotti retail, ma ricorda che hai bisogno della membership GS1 per il prefisso del produttore per essere valido. Scegli Code 39 per sistemi logistici, militari o di biblioteca che lo impongono. Scegli ITF-14 per cartoni di spedizione. EAN-8 per prodotti molto piccoli. Pharmacode è di nicchia, solo farmaceutico.
Posso vendere prodotti con questi codici a barre?
Per uso interno, tracciamento beni, badge di conferenza e scopi non retail simili, sì, liberamente. Per prodotti che intendi vendere in negozi retail dove il codice a barre sarà scansionato al punto vendita e cercato nel master file dei prodotti del rivenditore, hai bisogno di un vero prefisso produttore registrato GS1. Senza, l'EAN-13 o UPC-A che generi qui scansionerà correttamente (il formato è valido) ma le cifre non saranno registrate a te in alcun sistema di rivenditore, e il POS lo segnalerà come prodotto sconosciuto. La membership GS1 inizia attorno a 250-1.000 dollari all'anno a seconda della dimensione dell'azienda e del numero di prodotti.
PNG o SVG: quale dovrei scaricare?
SVG per qualsiasi cosa che sarà stampata (basato su vettori, scala perfettamente a qualsiasi dimensione, si apre in modo pulito in Illustrator/Inkscape/InDesign, accettato dagli stampatori commerciali). PNG per qualsiasi cosa digitale dove la dimensione è fissa e la destinazione non supporta SVG (app POS più vecchie, client di posta che eliminano SVG, embed semplici di siti web). PNG è renderizzato a 2× di risoluzione per nitidezza retina; SVG è XML semplice a 2-5 KB.
Cos'è la "quiet zone" e devo aggiungerla?
La quiet zone è lo spazio vuoto richiesto ai bordi sinistro e destro di qualsiasi codice a barre 1D: almeno 10× la larghezza della barra più stretta su ciascun lato. Senza, gli scanner non possono rilevare in modo affidabile dove inizia e finisce il codice a barre. Questo strumento include automaticamente le quiet zone proprie sia nell'output PNG che SVG. Il fallimento di produzione più comune è schiacciare il codice a barre stampato contro un altro elemento dell'etichetta per risparmiare spazio, rompendo la quiet zone: lascia i margini intatti quando disponi le tue etichette.
Qual è la differenza tra UPC-A ed EAN-13?
UPC-A è di 12 cifre ed è lo standard retail USA/Canada (introdotto 1973, prima scansione commerciale 26 giugno 1974 al Marsh Supermarket di Troy, Ohio). EAN-13 è di 13 cifre, adottato internazionalmente nel 1976/1977. Lo UPC-A di 12 cifre può essere espresso come EAN-13 di 13 cifre prependendo uno 0: la maggior parte dei sistemi POS moderni gestisce entrambi in modo trasparente. La cifra extra in EAN-13 è il prefisso del codice paese (USA/Canada = 0, Francia = 30-37, Germania = 40-44, Regno Unito = 50, Giappone = 49 o 45, ecc.). Entrambi sono ora sotto l'ombrello GTIN di GS1.
I miei valori di codice a barre vengono caricati?
No. La generazione gira interamente nel tuo browser tramite JsBarcode. I valori che inserisci non attraversano mai la rete: verifica nel pannello Network di DevTools mentre clicchi Genera, oppure metti la pagina offline (modalità aereo) dopo che si è caricata e lo strumento continua a funzionare. Sicuro per codici SKU interni, ID di tracciamento beni, dati di badge di conferenza o qualsiasi valore che non vorresti vedere copiato sul disco di uno sconosciuto.