Codes-barres ZPL : Code 128, QR, EAN, Data Matrix

Mis à jour le 30 septembre 2026

Codes-barres Code 128, QR, EAN-13 et Data Matrix générés à partir de commandes ZPL sur une étiquette thermique

Les codes-barres sont la raison d’être de la plupart des étiquettes thermiques. ZPL dispose d’une commande dédiée pour chaque symbologie courante, et l’imprimante trace elle-même les barres à sa résolution native, ce qui explique pourquoi les codes-barres ZPL s’impriment plus nettement que les images de codes-barres.

Ce guide couvre les commandes que vous utiliserez réellement : ^BY pour le dimensionnement, ^BC pour Code 128 et GS1-128, ^BQ pour les QR codes, ^BE pour EAN-13, ^BX pour Data Matrix et ^B7 pour PDF417, avec des exemples fonctionnels et les règles de dimensionnement qui décident si un code-barres se scanne.

Quelle commande de code-barres ZPL utiliser

Symbologies de codes-barres courantes et leurs commandes ZPL
SymbologieCommandeUsage typique
Code 128^BCRéférences (SKU), numéros de commande, suivi et toute donnée alphanumérique
GS1-128^BC … DDonnées logistiques avec identifiants d’application GS1, étiquettes palette SSCC
QR code^BQLiens web, étiquettes d’inventaire et scan sur mobile
EAN-13^BEProduits de détail en caisse
UPC-A^BUProduits de détail en Amérique du Nord
Data Matrix^BXPetites pièces, électronique et santé (GS1 DataMatrix)
PDF417^B7Documents et pièces d’identité nécessitant beaucoup de données sur une petite surface
Code 39^B3Anciens systèmes industriels et automobiles
Interleaved 2 of 5^B2Cartons d’expédition (ITF-14)

Dimensionner les codes-barres avec ^BY

^BY définit les valeurs par défaut des codes-barres qui suivent : la largeur de module (la largeur de la barre la plus étroite, en points), le rapport entre barres larges et étroites pour les symbologies qui en utilisent un, et la hauteur des barres. La largeur de module décide de presque tout pour un code-barres linéaire, car tout le symbole évolue avec elle.

^BYw,r,h
^BY2,3,100

À 203 dpi, un point mesure 0,125 mm : une largeur de module de 2 donne donc des barres de 0,25 mm et une largeur de module de 3 des barres de 0,375 mm. Les lecteurs portables lisent en général sans peine des modules de 2 points ; les étiquettes scannées de loin ou sur des surfaces courbes gagnent à utiliser 3 ou plus. Comme les modules doivent être des points entiers, un code-barres ne peut pas être étiré à une largeur arbitraire sans changer son comportement au scan.

Code 128 avec ^BC

Code 128 encode lettres, chiffres et symboles de façon compacte et constitue le choix par défaut pour les références et les numéros de commande. ^BC prend l’orientation, la hauteur des barres, l’impression ou non de la ligne lisible (et au-dessus ou en dessous), ainsi qu’un mode. L’imprimante calcule automatiquement le caractère de contrôle.

^XA
^BY2,3,90
^FO40,40^BCN,90,Y,N,N^FDSKU-100245^FS
^XZ

GS1-128 avec ^BC mode D

GS1-128 est du Code 128 avec des identifiants d’application (AI) GS1 tels que (01) pour le GTIN, (10) pour un lot et (00) pour un SSCC. Avec le mode D, écrivez les AI entre parenthèses dans ^FD : l’imprimante insère les caractères FNC1 requis, omet les parenthèses des données encodées et les imprime dans la ligne lisible.

^XA
^BY2
^FO40,40^BCN,110,Y,N,N,D^FD(01)09520123456788(10)LOT7^FS
^XZ

Les données GS1 obéissent à des règles strictes : AI de longueur fixe, chiffres de contrôle et caractères autorisés. Le créateur ZPLCraft inclut un assistant GS1 qui construit les données AI par AI et les valide avant qu’elles n’atteignent l’étiquette.

Code-barres GS1-128 SSCC sur une étiquette d’expédition, l’assistant GS1 affichant l’identifiant d’application 00 et sa valeur
L’assistant GS1 valide les identifiants d’application avant leur application.

QR codes avec ^BQ

^BQN,2,6 sélectionne l’orientation normale, le modèle QR 2 et un grossissement de 6 (chaque module fait 6 × 6 points). Les données du champ commencent par le niveau de correction d’erreur et le mode de saisie, suivis d’une virgule : LA, signifie niveau L avec saisie automatique. Utilisez H ou Q à la place de L lorsque le code risque d’être éraflé ou partiellement couvert.

^XA
^FO40,40^BQN,2,6^FDLA,https://example.com/p/100245^FS
^XZ

EAN-13 et UPC-A avec ^BE et ^BU

Pour EAN-13, envoyez les 12 premiers chiffres et l’imprimante ajoute le chiffre de contrôle ; UPC-A avec ^BU fonctionne de la même façon avec 11 chiffres. Les codes-barres de détail doivent utiliser un GTIN attribué à votre entreprise par GS1 et ne doivent pas être réduits en dessous de la taille exigée par votre distributeur.

^XA
^BY3
^FO40,40^BEN,90,Y,N^FD590123412345^FS
^XZ

Data Matrix et PDF417

^BX imprime du Data Matrix : le deuxième paramètre est la taille de chaque module en points et le niveau de qualité 200 sélectionne la version standard ECC 200. Il stocke beaucoup de données dans un très petit carré, ce qui explique sa présence courante sur les petites pièces et les dispositifs médicaux. ^B7 imprime du PDF417, un code-barres empilé utilisé sur les documents et les pièces d’identité ; ses paramètres définissent la hauteur des rangées et le niveau de correction d’erreur.

^XA
^FO40,40^BXN,8,200^FD100245-LOT7^FS
^FO300,40^BY2^B7N,6,3,,,N^FDORDER 100245 / 3 PARCELS^FS
^XZ

Un exemple de code-barres fonctionnel

Cette étiquette imprime un exemple de chaque symbologie courante sur une étiquette de 4 pouces à 203 dpi. Ouvrez-la dans la visionneuse pour modifier les données et les paramètres et voir les codes-barres se mettre à jour.

^XA
^PW812
^LL1000
^CI28
^CF0,28
^FO40,30^FDCode 128^FS
^BY2,3,90
^FO40,70^BCN,90,Y,N,N^FDSKU-100245^FS
^FO470,30^FDQR code^FS
^FO470,60^BQN,2,6^FDLA,https://example.com/p/100245^FS
^FO40,260^FDEAN-13^FS
^BY3
^FO40,300^BEN,90,Y,N^FD590123412345^FS
^FO470,260^FDData Matrix^FS
^FO470,300^BXN,8,200^FD100245-LOT7^FS
^FO40,500^FDGS1-128^FS
^BY2
^FO40,540^BCN,110,Y,N,N,D^FD(01)09520123456788(10)LOT7^FS
^FO40,730^FDPDF417^FS
^BY2
^FO40,770^B7N,6,3,,,N^FDORDER 100245 / 3 PARCELS^FS
^XZ

Ouvrir cet exemple de code-barres dans la visionneuse ZPL

Visionneuse ZPL rendant des codes-barres Code 128, QR, EAN-13, Data Matrix, GS1-128 et PDF417 à partir du code d’exemple
L’étiquette d’exemple rendue dans la visionneuse ZPL.

Créer des codes-barres sans écrire de ZPL

Dans le créateur ZPLCraft, ajoutez Code 128, QR Code ou EAN / GS1 depuis le panneau Codes. Le panneau Propriétés expose les mêmes réglages que les commandes ZPL : symbologie, contenu, largeur de module et hauteur des barres en points, et affichage ou non du texte lisible. Conserver la taille du code-barres maintient les valeurs changeantes dans les dimensions actuelles, ce qui est utile lorsque le contenu provient d’un tableur.

Code-barres Code 128 sélectionné dans l’éditeur ZPLCraft avec les réglages de contenu, de symbologie, de largeur de module et de hauteur des barres
Les propriétés du code-barres correspondent directement aux paramètres ZPL.

Pour les codes-barres GS1, l’assistant GS1 vous permet de choisir chaque identifiant d’application dans une liste, vérifie les longueurs et les chiffres de contrôle, et affiche la sortie canonique avant son application.

Créer une étiquette ZPL : tutoriel pas à pas →

Pourquoi un code-barres ZPL ne se scanne pas

  • Largeur de module trop petite. Les modules d’un point font 0,125 mm à 203 dpi et de nombreux lecteurs ne peuvent pas les résoudre. Augmentez la largeur de module dans ^BY.
  • Zone de silence absente. Les codes-barres linéaires ont besoin d’espace vide de chaque côté, au moins dix fois la largeur de module pour Code 128. Éloignez le texte et les cadres des barres.
  • Code-barres imprimé comme une image. Un code-barres redimensionné en bitmap peut se retrouver avec des barres de largeur inégale. Les commandes de code-barres ZPL natives évitent ce problème.
  • Mauvaise résolution d’imprimante. Un ZPL écrit pour 203 dpi s’imprime à environ deux tiers de la taille prévue sur une imprimante 300 dpi, ce qui peut faire passer les modules sous ce qu’un lecteur sait lire.
  • Noirceur ou vitesse d’impression. Des barres qui bavent ou se fragmentent viennent souvent d’un réglage de noirceur ou de vitesse de l’imprimante, pas d’un problème de conception.

Questions sur les codes-barres ZPL

Comment agrandir un code-barres ZPL ?

Augmentez la largeur de module dans ^BY pour les codes-barres linéaires, le grossissement dans ^BQ pour les QR codes, ou la taille de module dans ^BX pour Data Matrix. Augmentez le paramètre de hauteur pour des barres plus hautes. La largeur varie toujours par pas de points entiers.

L’imprimante calcule-t-elle les chiffres de contrôle ?

Oui, pour les symbologies qui en exigent un : Code 128 ajoute automatiquement son caractère de contrôle, et ^BE et ^BU calculent le chiffre de contrôle d’EAN-13 et d’UPC-A à partir des 12 ou 11 premiers chiffres.

Quel code-barres utiliser pour une étiquette d’expédition ?

Suivez la spécification du transporteur. Les codes-barres de suivi des transporteurs sont généralement du Code 128 ou du GS1-128, et de nombreux transporteurs ajoutent un code 2D comme MaxiCode ou PDF417.

Puis-je prévisualiser des codes-barres ZPL sans imprimante ?

Oui. La visionneuse ZPL rend Code 128, QR, EAN, UPC, Data Matrix, PDF417 et d’autres symbologies courantes dans votre navigateur. Un aperçu ne peut pas prouver la qualité de scan : testez l’étiquette imprimée avec le lecteur que vous utilisez.

Sources