Cos'è ZPL? Il Linguaggio di Programmazione Zebra Spiegato
Aggiornato 23 giugno 2026
ZPL (linguaggio di programmazione Zebra) è il linguaggio di comandi che le stampanti termiche Zebra e compatibili utilizzano per descrivere le etichette. Invece di ricevere un'immagine finita come fa una stampante da ufficio, una stampante ZPL riceve un breve blocco di testo normale — comandi che dicono "metti questo testo qui, disegna questo codice a barre là, stampa una copia" — e renderizza l'etichetta da sola, alla piena risoluzione della stampante, in millisecondi.
Questo design è il motivo per cui ZPL domina la logistica di spedizione, il magazzino, il retail e l'etichettatura sanitaria dagli anni '80: i dati inviati alla stampante sono esigui, possono essere generati da qualsiasi sistema in grado di produrre testo (un ERP, uno script, un browser), e l'hardware della stampante fa il lavoro pesante. Praticamente ogni stampante Zebra prodotta dai primi anni '90 parla ZPL II, la revisione in uso oggi, e lo fanno anche molte stampanti di altri marchi che pubblicizzano l'emulazione "compatibile ZPL".
Com'è fatta un'etichetta ZPL
Un documento ZPL è una sequenza di comandi, ciascuno che inizia con un accento circonflesso (^). Ogni etichetta è racchiusa tra ^XA (inizio formato) e ^XZ (fine formato). Ecco un'etichetta completa e funzionante:
^XA
^CF0,40
^FO50,50^FDHELLO WORLD^FS
^FO50,110^GB700,4,4^FS
^BY3,2,100
^FO150,150^BCN,100,Y,N,N^FD12345678^FS
^XZLeggendola riga per riga:
^XA…^XZ— aprono e chiudono il formato etichetta. Tutto ciò che è in mezzo descrive un'etichetta.^CF0,40— imposta il font predefinito al font scalabile 0 a 40 punti di altezza.^FO50,50— Field Origin: posiziona il campo successivo a 50 punti dal margine sinistro e 50 punti dall'alto.^FDHELLO WORLD^FS— Field Data seguito da Field Separator: il contenuto effettivo del campo.^GB700,4,4— disegna un Graphic Box largo 700 punti e alto 4 punti — qui utilizzato come separatore orizzontale.^BY3,2,100poi^BCN,100,Y,N,N— imposta le impostazioni predefinite del codice a barre (larghezza modulo, rapporto, altezza), poi renderizza un codice a barre Code 128 con i dati12345678e una riga leggibile dall'uomo sottostante.
Punti, non pixel: capire i DPI
Ogni coordinata e dimensione in ZPL è misurata in punti stampante, e la dimensione fisica di un punto dipende dalla risoluzione della testina di stampa. Le risoluzioni comuni sono 203 dpi (8 punti/mm), 300 dpi (12 punti/mm) e 600 dpi (24 punti/mm). Su una stampante a 203 dpi un'etichetta di spedizione 4 × 6 pollici è 812 × 1218 punti; su una stampante a 300 dpi la stessa etichetta è 1200 × 1800 punti. ZPL scritto per una risoluzione stampa più piccolo o più grande su un'altra, che è la causa più comune del problema "la mia etichetta sembra sbagliata sulla nuova stampante" — le dimensioni devono essere scalate al DPI target.
ZPL vs. EPL vs. stampa con driver
Potresti imbatterti anche in EPL (Eltron Programming Language), un linguaggio più vecchio e semplice che alcune stampanti desktop legacy utilizzano; le moderne stampanti Zebra accettano entrambi, ma i nuovi progetti dovrebbero puntare su ZPL. L'alternativa a entrambi è la stampa con driver, dove un driver Windows o CUPS converte una pagina renderizzata in comandi stampante per te. I driver sono comodi per stampare da Word o da un visualizzatore PDF, ma ZPL grezzo offre posizionamento preciso, codici a barre più nitidi, payload molto più piccoli e la possibilità di stampare da sistemi dove installare driver è impraticabile — ecco perché il software per etichette parla in definitiva ZPL.
Come scrivere — o generare — ZPL
Per un'etichetta una tantum, scrivere ZPL a mano con un riferimento comandi aperto è assolutamente fattibile: il linguaggio è piccolo e una manciata di comandi (^FO, ^FD, ^A, ^BC, ^GB) copre la maggior parte delle etichette reali. Il problema inizia quando devi iterare su un layout — ogni aggiustamento significa modificare coordinate in punti, rinviare il file e sprecare materiale etichette.
Questo è il problema che i designer visivi risolvono. ZPLCraft ti offre una canvas in scala reale dove trascini testo, codici a barre, linee e riquadri nella posizione desiderata e il ZPL corrispondente viene generato per te — correttamente scalato per i DPI della tua stampante, con codici a barre che si leggono. Puoi esportare il codice in qualsiasi sistema che già invia ZPL, o stampare direttamente dal browser via USB senza installare nulla.
Domande di base frequenti
ZPL è gratuito da usare?
Sì. ZPL è uno standard de facto aperto: Zebra pubblica la guida completa alla programmazione ZPL II e non c'è nulla da licenziare. Qualsiasi editor di testo può produrlo.
Quale estensione di file usa ZPL?
Non c'è un'estensione obbligatoria — ZPL è testo normale. Troverai .zpl, .txt e .prn nella pratica; le stampanti non si curano dell'estensione, consumano semplicemente il flusso di byte.
Posso visualizzare in anteprima ZPL senza una stampante?
Sì — servizi di rendering come Labelary convertono ZPL in un'immagine, e l'editor di ZPLCraft mostra un'anteprima live dell'etichetta mentre si progetta, così si spende materiale etichette solo quando il layout è definitivo.