ZPL-Befehlsreferenz — Spickzettel für Zebra-Drucker
Aktualisiert am 11. Juni 2026
Dies ist eine praktische Referenz für die ZPL-II-Befehle, die die große Mehrheit realer Etiketten abdecken: Formatstruktur, Text, Schriften, Barcodes, Grafiken und Druckersteuerung. Alle Positionen und Größen sind in Druckerpunkten (203 dpi = 8 Punkte/mm — siehe Was ist ZPL? für die Grundlagen). Parameter in der Syntaxspalte sind: x,y = Position von der oberen linken Ecke, h,w = Höhe und Breite, o = Ausrichtung (N normal, R 90°, I 180°, B 270°).
Etikettenformat
| Befehl | Syntax | Funktion |
|---|---|---|
^XA | ^XA | Beginn eines Etikettenformats. Jedes Etikett beginnt mit diesem Befehl. |
^XZ | ^XZ | Ende eines Etikettenformats. Der Drucker rendert und druckt das Etikett, wenn er diesen Befehl empfängt. |
^FX | ^FXcomment | Kommentar — wird vom Drucker ignoriert. Wie jedes Feld mit ^FS abschließen. |
^PW | ^PWwidth | Druckbreite in Punkten. Auf die Etikettenbreite setzen, damit Felder nicht abgeschnitten werden. |
^LL | ^LLlength | Etikettenlänge in Punkten. Hauptsächlich für Endlosmedien (ohne Lücke) erforderlich. |
^LH | ^LHx,y | Etiketten-Home — verschiebt den Ursprung für alle nachfolgenden ^FO-Positionen. |
^PQ | ^PQqty | Druckanzahl — wie viele Kopien dieses Etiketts gedruckt werden sollen. |
^PR | ^PRspeed | Druckrate (Geschwindigkeit) in Zoll pro Sekunde. Langsamer ergibt oft dunkleren und schärferen Druck. |
^MD | ^MDdarkness | Mediendunkelheit-Anpassung, -30 bis 30. Erhöhen, wenn der Druck zu blass ist. |
Felder und Text
| Befehl | Syntax | Funktion |
|---|---|---|
^FO | ^FOx,y | Feldursprung — positioniert das nächste Feld bei x,y Punkten vom Etiketten-Home. |
^FD | ^FDdata | Felddaten — der Inhalt (Text oder Barcode-Daten) des aktuellen Feldes. |
^FS | ^FS | Feldtrennzeichen — schließt das aktuelle Feld ab. Nach jedem Feld erforderlich. |
^FB | ^FBwidth,lines,space,align | Feldblock — bricht ^FD-Text in einen Block um: maximale Breite, maximale Zeilen, Zeilenabstand, Ausrichtung (L/C/R/J). |
^FR | ^FR | Feldumkehrung — druckt das Feld weiß auf schwarz, wo es einen schwarzen Bereich überlappt. |
^FH | ^FH | Feld-Hexadezimal — erlaubt _xx-Hex-Escapes in ^FD, z. B. _C3_A9 für é. |
^CI | ^CIencoding | Zeichensatz; ^CI28 wählt UTF-8 und wird für jeden Nicht-ASCII-Text empfohlen. |
Schriften
| Befehl | Syntax | Funktion |
|---|---|---|
^A | ^Afo,h,w | Schrift für das nächste Feld: Schriftbuchstabe f (0–9, A–Z), Ausrichtung, Höhe und Breite in Punkten. ^A0N,40,40 ist die skalierbare Standardschrift mit 40 Punkten. |
^CF | ^CFf,h,w | Standardschrift für alle folgenden Felder ändern, die kein eigenes ^A setzen. |
^A@ | ^A@o,h,w,name | Eine auf dem Drucker gespeicherte Schriftdatei verwenden (z. B. heruntergeladenes TrueType). |
Schrift 0 ist die skalierbare Vektorschrift und die übliche Wahl; Schriften A–H sind Bitmap-Schriften fester Größe, die nur bei ihrer nativen Größe oder ganzzahligen Vielfachen korrekt aussehen.
Barcodes
| Befehl | Syntax | Funktion |
|---|---|---|
^BY | ^BYw,r,h | Barcode-Standardwerte: Modulbreite (schmaler Balken) in Punkten, Breit-zu-Schmal-Verhältnis, Standardhöhe. Vor dem Barcode-Befehl setzen. |
^BC | ^BCo,h,f,g,e,m | Code 128 — der Allzweck-1D-Barcode für Versand und Logistik. f=Y druckt die lesbare Zeile, g=Y druckt sie über dem Code. |
^B3 | ^B3o,e,h,f,g | Code 39 — ältere 1D-Symbologie, die von einigen Industrie- und Verteidigungsspezifikationen noch gefordert wird. |
^BE | ^BEo,h,f,g | EAN-13-Einzelhandelsbarcode (^BU für UPC-A verwenden). |
^BQ | ^BQa,model,mag,ec | QR-Code. Vergrößerung 1–10 setzt die Modulgröße; ec setzt die Fehlerkorrektur (H/Q/M/L). Daten mit dem Kodierungsmodus als Präfix versehen, z. B. ^FDQA,https://… |
^BX | ^BXo,h,s,c,r,f | Data Matrix — kompakter 2D-Code, verbreitet auf Elektronik- und Gesundheitsetiketten. |
^B7 | ^B7o,h,m,c,r,t | PDF417 — gestapelter 2D-Code, der auf Ausweisen und einigen Logistikdokumenten verwendet wird. |
Für einen scannbaren Barcode müssen drei Dinge stimmen: eine Modulbreite (^BY erster Parameter) von mindestens 2–3 Punkten bei 203 dpi, eine Ruhezone von ca. 10 Modulbreiten freiem Abstand auf beiden Seiten, und ausreichende Höhe (ein 1D-Barcode unter ca. 50 Punkten ist für Handscanner schwer zu lesen).
Grafiken
| Befehl | Syntax | Funktion |
|---|---|---|
^GB | ^GBw,h,t,c,r | Grafikrahmen: Breite, Höhe, Randstärke, Farbe (B/W), Eckabrundung 0–8. Ein dünner ^GB ist die Art, wie Linien gezeichnet werden. |
^GC | ^GCd,t,c | Grafikkreis mit Durchmesser d und Randstärke t. |
^GD | ^GDw,h,t,c,o | Grafische Diagonallinie in einem w×h-Rahmen; o setzt die Richtung (L oder R). |
^GF | ^GFa,b,c,d,data | Grafikfeld — bettet eine Bitmap (z. B. ein Logo) direkt als Hex- oder Binärdaten in das Etikett ein. |
~DG | ~DGd:name,t,w,data | Grafik herunterladen — ein Bild auf dem Drucker speichern, dann mit ^XG platzieren. |
^XG | ^XGd:name,mx,my | Eine gespeicherte Grafik am aktuellen Feldursprung abrufen, mit x/y-Vergrößerung. |
Druckersteuerung und -status
| Befehl | Syntax | Funktion |
|---|---|---|
~HS | ~HS | Host-Status — der Drucker antwortet mit Informationen zu Papierende, Pause, Puffer und Kilometerzähler. |
~HI | ~HI | Host-Identifikation — Modell, Firmware-Version, DPI und Speicher. |
^MM | ^MMmode | Druckmodus: T Abriss, P Abschälen, R Aufwickeln, C Schneider. |
^MN | ^MNtype | Medienerkennung: Y Lücken-/Steg-Erkennung, M Schwarzmarkierung, N Endlos. |
~JC | ~JC | Medienkalibrierung ausführen (der Drucker zieht einige Etiketten ein, um die Lücke zu finden). |
~JA | ~JA | Alle Etikettenformate im Druckerpuffer abbrechen. |
^JUS | ^JUS | Aktuelle Einstellungen im Flash speichern, damit sie einen Stromausfall überstehen. |
Alles zusammen
Ein typisches 4×6-Versandetikett unter Verwendung der meisten obigen Gruppen:
^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
^XZDas manuelle Bearbeiten von Punktkoordinaten wird schnell lästig — jede Layout-Anpassung bedeutet Zahlen ändern und neu drucken. Wenn Sie die Felder lieber per Drag & Drop platzieren und das ZPL sich selbst schreiben lassen möchten, kompiliert der ZPLCraft-Editor unten eine visuelle Arbeitsfläche zu genau dieser Art von sauberem ZPL, und kann es aus dem Browser per USB drucken.
Für erschöpfende Parameter-für-Parameter-Details über diesen Spickzettel hinaus ist die maßgebliche Quelle Zebras offizielles ZPL-II-Programmierhandbuch, kostenlos auf Zebras Support-Website erhältlich.