Wat is ZPL? Zebra Programmeertaal Uitgelegd

Bijgewerkt 23 juni 2026

ZPL (Zebra-programmeertaal) is de commandotaal die Zebra en Zebra-compatibele thermische printers gebruiken om etiketten te beschrijven. In plaats van een afgewerkte afbeelding te ontvangen zoals een kantoorprinter dat doet, ontvangt een ZPL-printer een kort blok platte tekst — commando's die zeggen "zet deze tekst hier, teken deze barcode daar, druk één exemplaar af" — en rendert het etiket zelf, op volledige printerresolutie, in milliseconden.

Dit ontwerp is de reden waarom ZPL de verzend-, magazijn-, retail- en zorgetiketteermarkt heeft gedomineerd sinds de jaren 1980: de data die naar de printer wordt gestuurd is klein, het kan worden gegenereerd door alles dat tekst kan produceren (een ERP-systeem, een script, een browser), en de printerhardware doet het zware werk. Vrijwel elke Zebra-printer gemaakt sinds het begin van de jaren 1990 spreekt ZPL II, de revisie die vandaag in gebruik is, en dat geldt ook voor veel printers van andere merken die "ZPL-compatible" emulatie adverteren.

Hoe een ZPL-etiket eruitziet

Een ZPL-document is een reeks commando's, elk beginnend met een dakje (^). Elk etiket is ingekapseld tussen ^XA (beginformaat) en ^XZ (eindformaat). Hier is een volledig, werkend etiket:

^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

Regel voor regel gelezen:

  • ^XA^XZ — open en sluit het labelformaat. Alles daartussen beschrijft één etiket.
  • ^CF0,40 — stel het standaardlettertype in op het schaalbare lettertype 0 van 40 dots hoog.
  • ^FO50,50Field Origin: positioneer het volgende veld 50 dots van links en 50 dots van boven.
  • ^FDHELLO WORLD^FSField Data gevolgd door Field Separator: de daadwerkelijke inhoud van het veld.
  • ^GB700,4,4 — teken een Graphic Box van 700 dots breed en 4 dots hoog — hier gebruikt als een horizontale lijn.
  • ^BY3,2,100 dan ^BCN,100,Y,N,N — stel barcodestandaarden in (modulebreedte, verhouding, hoogte), render vervolgens een Code 128 barcode met de data 12345678 en een leesbare regel eronder.

Dots, geen pixels: DPI begrijpen

Elke coördinaat en grootte in ZPL wordt gemeten in printerdots, en de fysieke grootte van een dot hangt af van de resolutie van de printkop. De gangbare resoluties zijn 203 dpi (8 dots/mm), 300 dpi (12 dots/mm) en 600 dpi (24 dots/mm). Op een 203 dpi-printer is een 4 × 6 inch verzendlabel 812 × 1218 dots; op een 300 dpi-printer is hetzelfde label 1200 × 1800 dots. ZPL geschreven voor één resolutie print kleiner of groter op een andere, wat de meest voorkomende oorzaak is van "mijn etiket ziet er verkeerd uit op de nieuwe printer" — afmetingen moeten worden geschaald naar de doel-DPI.

ZPL vs. EPL vs. drivergebaseerd printen

Je kunt ook EPL (Eltron Programming Language) tegenkomen, een oudere, eenvoudigere taal die sommige legacy desktopprinters gebruiken; moderne Zebra-printers accepteren beide, maar nieuw werk moet ZPL als doel hebben. Het alternatief voor beide is drivergebaseerd printen, waarbij een Windows- of CUPS-driver een gerenderde pagina omzet in printercommando's voor je. Drivers zijn handig voor printen vanuit Word of een PDF-viewer, maar ruwe ZPL geeft je nauwkeurige plaatsing, scherpere barcodes, veel kleinere bestanden en de mogelijkheid om te printen vanuit systemen waar het installeren van drivers onpraktisch is — dat is waarom labelsoftware uiteindelijk ZPL spreekt.

Hoe je ZPL schrijft — of genereert

Voor een eenmalig etiket is ZPL met de hand schrijven met een commando referentie open heel goed mogelijk: de taal is compact, en een handvol commando's (^FO, ^FD, ^A, ^BC, ^GB) dekt de meeste echte etiketten. De pijn begint wanneer je een opmaak moet itereren — elke aanpassing betekent dot-coördinaten bewerken, het bestand opnieuw sturen en labelmateriaal verspillen.

Dat is het probleem dat visuele designers oplossen. ZPLCraft geeft je een canvas op ware grootte waar je tekst, barcodes, lijnen en kaders op hun plek sleept en de bijbehorende ZPL voor je wordt gegenereerd — correct geschaald voor de DPI van je printer, met barcodes die scannen. Je kunt de code exporteren naar elk systeem dat al ZPL verstuurt, of direct vanuit de browser via USB printen zonder iets te installeren.

Veelgestelde basisvragen

Is ZPL gratis te gebruiken?

Ja. ZPL is een de-facto open standaard: Zebra publiceert de volledige ZPL II-programmeerhandleiding en er is niets te licentiëren. Elke teksteditor kan het produceren.

Welke bestandsextensie gebruikt ZPL?

Er is geen verplichte extensie — ZPL is platte tekst. Je ziet .zpl, .txt en .prn in het wild; printers geven er niets om, zij verwerken gewoon de bytestroom.

Kan ik ZPL vooraf bekijken zonder een printer?

Ja — renderdiensten zoals Labelary zetten ZPL om naar een afbeelding, en de editor van ZPLCraft toont een live voorvertoning van het etiket terwijl je ontwerpt, zodat je pas labelmateriaal gebruikt als de opmaak definitief is.