Generatore gratuito di codici a barre online

Genera codici a barre nei formati popolari. Personalizza e scarica in PNG o SVG.

Generato localmente · niente viene inviato a un server
Codifica qualsiasi testo o numero. Formato più versatile.

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

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

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.

Strumenti correlati