Référence des commandes ZPL et aide-mémoire

Mis à jour le 17 août 2026

Commandes ZPL reliées aux éléments de texte, code-barres, code QR et cadre d’une étiquette

Cette référence pratique présente les commandes ZPL II couramment utilisées pour la structure du format, le texte, les polices, les codes-barres, les graphiques et le contrôle de l’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

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

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

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

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.

Le dimensionnement d’un code-barres dépend de la symbologie. Utilisez ^BY pour définir la largeur du module, le rapport et la hauteur, puis suivez la spécification applicable de la symbologie, du transporteur ou du secteur pour les dimensions minimales et les zones de silence. Un aperçu ne remplace pas la vérification de l’impression physique avec le scanner et le support de production.

Graphiques

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

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’envoyer par une voie USB compatible entre le navigateur et l’imprimante lorsque le navigateur, le système d’exploitation et l’imprimante proposent une interface disponible.

Sources