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

Mis à jour le 23 juin 2026

ZPL (langage de programmation Zebra) est le langage de commandes qu'utilisent les imprimantes thermiques Zebra et compatibles Zebra pour décrire les étiquettes. Au lieu de recevoir une image finie comme le fait une imprimante de bureau, une imprimante ZPL reçoit un court bloc de texte brut — des commandes indiquant « placez ce texte ici, dessinez ce code-barres là, imprimez un exemplaire » — et génère elle-même l'étiquette, à la résolution complète de la tête d'impression, en quelques millisecondes.

Cette conception explique pourquoi ZPL domine l'étiquetage dans l'expédition, l'entrepôt, le commerce de détail et le secteur de la santé depuis les années 1980 : les données envoyées à l'imprimante sont minuscules, elles peuvent être générées par tout ce qui peut produire du texte (un ERP, un script, un navigateur), et c'est le matériel de l'imprimante qui effectue le travail lourd. Pratiquement toutes les imprimantes Zebra fabriquées depuis le début des années 1990 parlent ZPL II, la révision en usage aujourd'hui, de même que de nombreuses imprimantes d'autres marques proposant une émulation « compatible ZPL ».

À 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, ce qui est la cause la plus fréquente 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), un langage plus ancien et plus simple qu'utilisent certaines imprimantes de bureau héritées ; les imprimantes Zebra modernes acceptent les deux, mais les nouveaux développements devraient cibler ZPL. L'alternative est l'impression par pilote, où un pilote Windows ou CUPS convertit une page rendue en commandes d'imprimante à votre place. Les pilotes sont pratiques pour imprimer depuis Word ou un lecteur PDF, mais le ZPL brut vous offre un placement précis, des codes-barres plus nets, des charges utiles beaucoup plus légères et la possibilité d'imprimer depuis des systèmes où l'installation de pilotes est impraticable — c'est pourquoi les logiciels d'étiquetage utilisent finalement ZPL.

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 vous offre un canevas aux dimensions réelles où vous faites glisser texte, codes-barres, lignes et rectangles à la bonne position et le ZPL correspondant est généré pour vous — correctement mis à l'échelle pour le DPI de votre imprimante, avec des codes-barres qui se scannent. Vous pouvez exporter le code vers tout système qui envoie déjà du ZPL, ou imprimer directement depuis le navigateur via USB sans rien installer.

Questions de base fréquentes

ZPL est-il gratuit ?

Oui. ZPL est un standard de facto ouvert : Zebra publie le guide de programmation ZPL II complet, et il n'y a rien à licencier. N'importe quel éditeur de texte peut le produire.

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.