The labels
Select a block, copy it, then open the designer and choose File → Import
ZPL. Every element lands on the canvas as something you can move and retype.
4 × 6 in shipping label
203 dpi · ^PW812 ^LL1218 · Code 128 + QR
The standard thermal shipping label: sender block, delivery address, order and carton numbers, a Code 128 tracking barcode and a QR code for the handheld.
^XA
^CI28
^PW812
^LL1218
^LH0,0
^FO30,30^GB752,150,3^FS
^FO52,58^A0N,40,40^FDACME DISTRIBUTION^FS
^FO52,104^A0N,26,26^FD1400 Industrial Way^FS
^FO52,138^A0N,26,26^FDColumbus OH 43228^FS
^FO30,210^A0N,24,24^FDSHIP TO^FS
^FO30,244^A0N,46,46^FDNORTHSIDE HARDWARE^FS
^FO30,300^A0N,34,34^FD82 Chestnut Street^FS
^FO30,342^A0N,34,34^FDCLEVELAND OH 44113^FS
^FO30,400^GB752,3,3^FS
^FO30,428^A0N,24,24^FDORDER^FS
^FO30,458^A0N,38,38^FDSO-104822^FS
^FO430,428^A0N,24,24^FDCARTON^FS
^FO430,458^A0N,38,38^FD3 OF 7^FS
^FO30,540^BY3,2,190
^BCN,190,Y,N,N
^FD00104822000037^FS
^FO30,820^A0N,26,26^FDWEIGHT 14.2 LB^FS
^FO30,858^A0N,26,26^FDSHIPPED 2026-09-01^FS
^FO520,800^BQN,2,7
^FDQA,SO-104822/3^FS
^FO30,1140^GB752,3,3^FS
^FO30,1160^A0N,22,22^FDPacked by station 4^FS
^XZ
Swap ^PW812 ^LL1218 for ^PW1200 ^LL1800 to move this label to a 300 dpi printer — and multiply every coordinate, font height and ^BY value by 1.5 at the same time.
2 × 1 in product label
203 dpi · ^PW406 ^LL203 · UPC-A
A small retail label: product name, size, price and a UPC-A barcode. At two inches wide there is room for about 24 characters of 26-dot text per line.
^XA
^CI28
^PW406
^LL203
^LH0,0
^FO14,12^A0N,30,30^FDGARDEN TWINE^FS
^FO14,44^A0N,22,22^FD100 m natural jute^FS
^FO300,12^A0N,34,34^FD$6.49^FS
^FO14,80^BY2,2,70
^BUN,70,Y,N,Y
^FD07253100640^FS
^XZ
^BY2 is the practical minimum at 203 dpi. If this label will be printed on a 300 dpi machine, raise it to 3 rather than leaving it — the bars would otherwise come out two thirds of the intended width.
4 × 2 in asset tag
300 dpi · ^PW1200 ^LL600 · QR + Data Matrix
An equipment tag at 300 dpi, with a boxed header, an asset number in large type, a QR code that opens the asset record and a Data Matrix duplicate for the fixed scanner.
^XA
^CI28
^PW1200
^LL600
^LH0,0
^FO30,24^GB1140,64,64^FS
^FO48,38^A0N,40,40^FR^FDPROPERTY OF ACME PLANT 2^FS
^FO30,120^A0N,30,30^FDASSET^FS
^FO30,158^A0N,76,76^FD41255-A^FS
^FO30,260^A0N,28,28^FDLathe, Colchester Student 1800^FS
^FO30,300^A0N,28,28^FDBay 4 - Machine shop^FS
^FO30,340^A0N,28,28^FDService due 2027-03-01^FS
^FO30,400^GB700,3,3^FS
^FO30,420^A0N,24,24^FDReport faults on ext. 2140^FS
^FO800,120^BQN,2,8
^FDQA,https://example.com/asset/41255^FS
^FO800,420^BXN,7,200
^FD41255-A^FS
^XZ
^FR before the header text prints it white out of the black box drawn by ^GB. The box has to come first — ZPL paints in the order it reads.
3 × 1 in shelf / bin label
203 dpi · ^PW609 ^LL203 · Code 39
A warehouse location label. Code 39 because a lot of installed bin scanners are still configured for it, and the location code is uppercase and digits only.
^XA
^CI28
^PW609
^LL203
^LH0,0
^FO16,10^A0N,56,56^FDC14-03^FS
^FO16,70^A0N,24,24^FDAisle C - Rack 14 - Level 3^FS
^FO16,104^BY2,2,64
^B3N,N,64,Y,N
^FDC1403^FS
^FO440,16^GB154,80,2^FS
^FO452,34^A0N,44,44^FDPICK^FS
^XZ
Code 39 only encodes uppercase letters, digits and a handful of symbols. A lowercase location code will not print — MakeZPL blocks the export and tells you which character is at fault.
2 × 1 in template with placeholders
203 dpi · ^PW406 ^LL203 · merge fields
The same label as a template. The {{…}} tokens are left in the ^FD data for a host system — RF-SMART, NetSuite, an ERP print service — to substitute at print time. MakeZPL recognises them on import and turns them back into bound fields.
^XA
^CI28
^PW406
^LL203
^LH0,0
^FO14,12
^A0N,28,28
^FB380,2,0,L,0
^FD{{item_description}}^FS
^FO14,78^A0N,22,22^FDITEM {{item_number}}^FS
^FO14,108^BY2,2,70
^BCN,70,Y,N,N
^FD{{barcode}}^FS
^XZ
Auto-fit font sizes cannot travel in a template — the printer has no way to shrink a value it has not seen yet. Either leave headroom, as the ^FB block here does, or import your data and export resolved ZPL instead.
4 × 6 in carton label with wrapped text
203 dpi · ^PW812 ^LL1218 · ^FB + Interleaved 2 of 5
A carton label whose description is too long for one line. ^FB wraps it inside a fixed width over at most three lines, and an ITF-14 code identifies the carton.
^XA
^CI28
^PW812
^LL1218
^LH0,0
^FO30,40^A0N,30,30^FDCARTON CONTENTS^FS
^FO30,80^GB752,3,3^FS
^FO30,110
^A0N,42,42
^FB752,3,6,L,0
^FDStainless steel hex bolt, M12 x 60 mm, grade 8.8, zinc plated, DIN 931 partially threaded^FS
^FO30,290^A0N,30,30^FDPART^FS
^FO30,328^A0N,52,52^FD41255-A^FS
^FO430,290^A0N,30,30^FDQUANTITY^FS
^FO430,328^A0N,52,52^FD250 EA^FS
^FO30,430^GB752,3,3^FS
^FO30,470^BY3,2,220
^B2N,220,Y,N,N
^FD00104822000037^FS
^FO30,760^A0N,28,28^FDLot 2026-0841^FS
^FO30,800^A0N,28,28^FDPacked 2026-09-01^FS
^XZ
Interleaved 2 of 5 needs an even number of digits. Fourteen here is fine; thirteen would silently shift every pair on a printer that pads it, which is why MakeZPL refuses to export one.