Qu'est-ce que ZPL ? Le langage Zebra expliqué

Mis à jour le 17 août 2026

Commandes ZPL transmises d’un ordinateur à une imprimante thermique puis à une étiquette à code-barres terminée

ZPL (langage de programmation Zebra) est le langage de commandes utilisé par les imprimantes thermiques Zebra et compatibles pour décrire les étiquettes. Au lieu de recevoir une image terminée, une imprimante ZPL reçoit un court bloc de commandes en texte brut, les interprète et rend l’étiquette avec la résolution de tête configurée.

ZPL utilise des commandes texte compactes que peuvent générer des applications telles que des ERP, des scripts et des outils de navigateur. La prise en charge dépend du modèle et de la configuration : Zebra documente ZPL II dans les spécifications de chaque modèle, et certaines imprimantes d’autres fabricants proposent un mode d’émulation compatible ZPL documenté.

À quoi ressemble une étiquette ZPL

Un document ZPL est une séquence de commandes, chacune commençant par un accent circonflexe (^). Chaque étiquette est encadrée entre ^XA (début de format) et ^XZ (fin de format). Voici une étiquette complète et fonctionnelle :

^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
^XZ

Lecture ligne par ligne :

  • ^XA^XZ — ouvre et ferme le format d'étiquette. Tout ce qui se trouve entre les deux décrit une étiquette.
  • ^CF0,40 — définit la police par défaut sur la police vectorielle scalable 0 d'une hauteur de 40 points.
  • ^FO50,50Origine du champ : positionne le prochain champ à 50 points du bord gauche et 50 points du bord supérieur.
  • ^FDHELLO WORLD^FSDonnées du champ suivi du séparateur de champ : le contenu effectif du champ.
  • ^GB700,4,4 — dessine un rectangle graphique de 700 points de large et 4 points de haut — utilisé ici comme règle horizontale.
  • ^BY3,2,100 puis ^BCN,100,Y,N,N — définit les paramètres par défaut du code-barres (largeur du module, ratio, hauteur), puis génère un code-barres Code 128 avec les données 12345678 et une ligne lisible par l'homme en dessous.

Points, pas pixels : comprendre le DPI

Chaque coordonnée et chaque taille en ZPL est mesurée en points d'imprimante, et la taille physique d’un point dépend de la résolution de la tête d’impression. Les résolutions courantes sont 203 dpi (8 points/mm), 300 dpi (12 points/mm) et 600 dpi (24 points/mm). Sur une imprimante à 203 dpi, une étiquette d’expédition 4 × 6 pouces représente 812 × 1218 points ; sur une imprimante à 300 dpi, la même étiquette fait 1200 × 1800 points. Du ZPL écrit pour une résolution s’imprime plus petit ou plus grand sur une autre ; un écart de DPI est donc une cause courante de « mon étiquette ne s’affiche pas correctement sur la nouvelle imprimante ». Les tailles doivent être adaptées au DPI cible.

ZPL vs. EPL vs. impression par pilote

Vous pouvez également rencontrer EPL (Eltron Programming Language), utilisé par certaines imprimantes anciennes ou explicitement compatibles. La prise en charge de ZPL et d’EPL varie selon le modèle et le firmware ; consultez donc la documentation du fabricant avant de choisir un langage. L’alternative à l’envoi direct d’un langage d’imprimante est l'impression par pilote, où un pilote Windows ou CUPS prépare une page rendue pour l’imprimante configurée. Le ZPL brut peut offrir un contrôle direct des coordonnées et des charges texte compactes, tandis que l’impression par pilote peut être plus adaptée lorsque le périphérique ou le système d’exploitation ne fournit pas de voie ZPL brute compatible.

Comment écrire — ou générer — du ZPL

Pour une étiquette ponctuelle, écrire du ZPL à la main avec une référence des commandes ouverte est tout à fait réalisable : le langage est petit, et une poignée de commandes (^FO, ^FD, ^A, ^BC, ^GB) couvre la plupart des étiquettes réelles. La difficulté commence quand vous devez itérer sur une mise en page — chaque ajustement implique de modifier des coordonnées en points, de renvoyer le fichier et de gaspiller du stock d'étiquettes.

C’est le problème que résolvent les éditeurs visuels. ZPLCraft fournit un canevas aux dimensions réelles où vous placez du texte, des codes-barres, des lignes et des rectangles, puis générez du ZPL mis à l’échelle pour le DPI sélectionné. Les données, dimensions et zones de silence des codes-barres doivent toujours respecter les exigences de la symbologie choisie, et le résultat imprimé doit être vérifié avec l’imprimante et le scanner cibles. Vous pouvez exporter le code vers un système qui envoie déjà du ZPL, ou utiliser l’impression WebUSB depuis le navigateur lorsque le navigateur, le système d’exploitation et l’imprimante proposent une interface compatible et disponible.

Questions de base fréquentes

ZPL est-il gratuit ?

Zebra publie le guide de programmation ZPL II comme référence accessible au public, et vous pouvez écrire des commandes ZPL dans un éditeur de texte. Le logiciel, les polices, le firmware et les marques de l’imprimante peuvent être soumis à leurs propres conditions de licence.

Quelle extension de fichier ZPL utilise-t-il ?

Il n'existe pas d'extension obligatoire — ZPL est du texte brut. Vous verrez .zpl, .txt et .prn dans la pratique ; les imprimantes s'en moquent, elles consomment simplement le flux d'octets.

Puis-je prévisualiser du ZPL sans imprimante ?

Oui — des services de rendu comme Labelary convertissent le ZPL en image, et l'éditeur de ZPLCraft affiche un aperçu en direct de l'étiquette pendant votre conception, de sorte que vous ne dépensez du stock d'étiquettes que lorsque la mise en page est finalisée.

Quelles imprimantes sont compatibles ZPL ?

La compatibilité dépend du modèle et de la configuration. Consultez les spécifications du fabricant pour vérifier la prise en charge de ZPL ou ZPL II ou l’existence d’un mode d’émulation documenté, confirmez le DPI cible et les fonctions requises, puis testez le chemin de sortie exact. Une connexion USB ou le port TCP 9100 ne prouvent pas à eux seuls qu’une imprimante accepte ZPL. Compatibilité et recommandation

Sources