Référence des commandes ZPL — Aide-mémoire Zebra

Mis à jour le 11 juin 2026

Cette référence pratique couvre les commandes ZPL II utilisées dans la grande majorité des étiquettes réelles : structure du format, texte, polices, codes-barres, graphiques et contrôle imprimante. Toutes les positions et tailles sont en points d'imprimante (203 dpi = 8 points/mm — voir Qu'est-ce que le ZPL ? pour les bases). Les paramètres indiqués dans la colonne syntaxe sont : x,y = position depuis le coin supérieur gauche, h,w = hauteur et largeur, o = orientation (N normal, R 90°, I 180°, B 270°).

Format d'étiquette

CommandeSyntaxeFonction
^XA^XADébut d'un format d'étiquette. Chaque étiquette commence par cette commande.
^XZ^XZFin d'un format d'étiquette. L'imprimante rend et imprime l'étiquette à la réception de cette commande.
^FX^FXcommentCommentaire — ignoré par l'imprimante. À terminer par ^FS comme tout champ.
^PW^PWwidthLargeur d'impression en points. Définissez cette valeur sur la largeur de votre étiquette pour éviter que les champs soient coupés.
^LL^LLlengthLongueur de l'étiquette en points. Nécessaire principalement pour les supports en continu (sans espace).
^LH^LHx,yOrigine de l'étiquette — décale l'origine pour toutes les positions ^FO suivantes.
^PQ^PQqtyQuantité d'impression — nombre de copies de cette étiquette à imprimer.
^PR^PRspeedVitesse d'impression en pouces par seconde. Une vitesse plus lente produit souvent une impression plus noire et plus nette.
^MD^MDdarknessAjustement de la noirceur du support, de -30 à 30. Augmentez si l'impression est trop claire.

Champs et texte

CommandeSyntaxeFonction
^FO^FOx,yOrigine du champ — positionne le prochain champ à x,y points depuis l'origine de l'étiquette.
^FD^FDdataDonnées du champ — le contenu (texte ou données de code-barres) du champ courant.
^FS^FSSéparateur de champ — ferme le champ courant. Obligatoire après chaque champ.
^FB^FBwidth,lines,space,alignBloc de champ — insère le texte ^FD dans un bloc : largeur maximale, nombre de lignes maximal, interligne, alignement (L/C/R/J).
^FR^FRChamp inversé — imprime le champ en blanc sur noir là où il chevauche une zone noire.
^FH^FHChamp hexadécimal — permet les séquences _xx dans ^FD, ex. _C3_A9 pour é.
^CI^CIencodingJeu de caractères ; ^CI28 sélectionne UTF-8 et est recommandé pour tout texte non-ASCII.

Polices

CommandeSyntaxeFonction
^A^Afo,h,wPolice pour le prochain champ : lettre de police f (0–9, A–Z), orientation, hauteur et largeur en points. ^A0N,40,40 est la police vectorielle scalable par défaut à 40 points.
^CF^CFf,h,wModifie la police par défaut pour tous les champs suivants qui ne définissent pas leur propre ^A.
^A@^A@o,h,w,nameUtilise un fichier de police stocké sur l'imprimante (ex. TrueType téléchargé).

La police 0 est la police vectorielle scalable et le choix habituel ; les polices A–H sont des polices bitmap à taille fixe qui ne s'affichent correctement qu'à leurs tailles natives ou à des multiples entiers.

Codes-barres

CommandeSyntaxeFonction
^BY^BYw,r,hParamètres par défaut du code-barres : largeur du module (barre étroite) en points, ratio large/étroit, hauteur par défaut. À définir avant la commande de code-barres.
^BC^BCo,h,f,g,e,mCode 128 — le code-barres 1D de référence pour l'expédition et la logistique. f=Y imprime la ligne lisible par l'homme, g=Y l'imprime au-dessus du code.
^B3^B3o,e,h,f,gCode 39 — ancienne symbologie 1D encore requise par certaines spécifications industrielles et de défense.
^BE^BEo,h,f,gCode-barres EAN-13 pour la vente au détail (utilisez ^BU pour UPC-A).
^BQ^BQa,model,mag,ecQR code. La magnification 1–10 définit la taille du module ; ec définit la correction d'erreur (H/Q/M/L). Préfixez les données avec le mode d'encodage, ex. ^FDQA,https://…
^BX^BXo,h,s,c,r,fData Matrix — code 2D compact courant sur les étiquettes électroniques et de santé.
^B7^B7o,h,m,c,r,tPDF417 — code 2D empilé utilisé sur les cartes d'identité et certains documents logistiques.

Pour un code-barres lisible par un scanner, maîtrisez trois points : une largeur de module (^BY premier paramètre) d'au moins 2–3 points à 203 dpi, une zone calme d'environ 10 largeurs de module de chaque côté, et une hauteur suffisante (un code-barres 1D inférieur à ~50 points est difficile à lire pour les scanners portables).

Graphiques

CommandeSyntaxeFonction
^GB^GBw,h,t,c,rRectangle graphique : largeur, hauteur, épaisseur du bord, couleur (B/W), arrondi des coins 0–8. Un ^GB fin permet de tracer des lignes.
^GC^GCd,t,cCercle graphique de diamètre d et d'épaisseur de bord t.
^GD^GDw,h,t,c,oLigne diagonale graphique dans un cadre w×h ; o définit la direction (L ou R).
^GF^GFa,b,c,d,dataChamp graphique — intègre un bitmap (ex. un logo) directement dans l'étiquette sous forme de données hexadécimales ou binaires.
~DG~DGd:name,t,w,dataTéléchargement de graphique — stocke une image sur l'imprimante, puis la place avec ^XG.
^XG^XGd:name,mx,myRappel d'un graphique stocké à l'origine du champ courant, avec une magnification x/y.

Contrôle et état de l'imprimante

CommandeSyntaxeFonction
~HS~HSÉtat de l'hôte — l'imprimante répond avec des informations sur le manque de papier, la pause, le tampon et l'odomètre.
~HI~HIIdentification de l'hôte — modèle, version du firmware, DPI et mémoire.
^MM^MMmodeMode d'impression : T arrachage, P décollage, R rembobinage, C coupeuse.
^MN^MNtypeSuivi du support : Y détection espace/web, M marque noire, N continu.
~JC~JCLancer la calibration du support (l'imprimante avance quelques étiquettes pour trouver l'espace).
~JA~JAAnnuler tous les formats d'étiquettes dans le tampon de l'imprimante.
^JUS^JUSSauvegarder les paramètres courants en flash pour qu'ils survivent à une coupure de courant.

Tout assembler

Une étiquette d'expédition type 4×6 utilisant la plupart des groupes ci-dessus :

^XA
^PW812
^CI28
^CF0,32

^FO40,40^FDSHIP TO:^FS
^FO40,80^A0N,44,44^FDAcme Industries^FS
^FO40,130^FD500 Warehouse Way^FS
^FO40,170^FDSpringfield, IL 62701^FS

^FO40,230^GB732,3,3^FS

^FO40,260^FDOrder #A-10592 / 3 of 4^FS

^BY3,2,120
^FO140,320^BCN,120,Y,N,N^FD4210159200083^FS
^XZ

Modifier manuellement des coordonnées en points devient vite fastidieux — chaque ajustement de mise en page implique de changer des chiffres et de réimprimer. Si vous préférez faire glisser les champs à la bonne position et laisser le ZPL s'écrire seul, l'éditeur ZPLCraft ci-dessous compile un canevas visuel vers exactement ce type de ZPL propre, et peut l'imprimer depuis le navigateur via USB.

Pour des détails exhaustifs paramètre par paramètre au-delà de cet aide-mémoire, la source faisant autorité est le Guide de programmation ZPL II officiel de Zebra, disponible gratuitement sur le site de support Zebra.