Drag elements onto the label, edit them in the panel,
watch the real render update. When it looks right, take the ZPL, or the API call that produces it.
No ZPL by hand.
Output carries a light watermark. Sign in and create a free API key; then every run here is watermark-free (500 credits a month, no card).
canvas = live render
Faint image = the actual printed
render. Drag to move (edges and centers snap), drag handles to resize, drag empty space to
select several, right-click for layering. Click a command in the ZPL panel to select its
element. Arrows nudge (Shift = 10), Delete removes, Ctrl+C/V copy-paste, Ctrl+D duplicates,
Ctrl+A selects all, Ctrl+Z/Y undo/redo, Ctrl +/−/0 zoom. Your design autosaves in this
browser.
Add an element, or click one to edit it here.
Preflight
Verify barcodes will scan. Click Run preflight.
Output
?
JDSL is our JSON label DSL: the same elements array the
/v1/labels/compose API takes. Give an element a merge field and the output
swaps in {{name}} with a variables map: design once, generate labels
programmatically.
^XA…^XZ
Import ZPL
Paste a label
(^XA…^XZ), or just drop a .zpl file straight onto the canvas.
Text, barcodes and shapes become editable elements; anything exotic rides along untouched as
raw ZPL, so the label still prints identically. Replaces the current design (Ctrl+Z brings
it back).
Prepare image
Thermal printers are 1-bit;
tune the threshold until the preview looks right, and drag on the preview to crop.
About the Label builder
The label builder is a visual editor for ZPL. Drag text, Code 128 and Code 39 barcodes, QR and Data Matrix codes, boxes, lines, circles and images onto a canvas drawn at the label's real size and density, and the ZPL updates as you go, previewed by the same renderer the printers use.
Every label is also a JSON document (the label DSL), so the same design can be produced by your application through POST /v1/labels/compose with merge fields for the values that change per label: the order number, the address, the SKU. The builder shows you that exact API call.
Existing ZPL can be imported and edited: the importer decompiles the commands it understands into elements, and passes the rest through untouched so nothing is lost.
Density and label size in dots
ZPL positions are printer dots, so the same label is a different number of dots at each density. Match the printer.
Printer
dpi
dots / mm
4 x 6 in label
2 x 1 in label
Most desktop Zebras (GX, GK, ZD, LP)
203
8
812 x 1218
406 x 203
Industrial and healthcare (ZT, ZD 300)
300
12
1218 x 1827
609 x 304
High resolution (ZT 600)
600
24
2436 x 3654
1218 x 609
Your data: Your design is saved in this browser's local storage only, so it survives a reload on this machine; each preview is rendered in memory on our server and not stored. Anonymous runs carry a small stripyhorse.io logo in the corner; sign in for clean output. Details in the privacy policy.
Questions
Is the label builder free?
Yes. It runs in the browser with no account. Previews for anonymous visitors carry a small stripyhorse.io logo in the corner; sign in for clean previews and an API key.
Where is my design saved?
In your browser's local storage, on this machine only. Nothing is uploaded except the ZPL for each preview, which is rendered and discarded. Use the share link to move a design to another machine.
Can I use variables for order numbers and addresses?
Yes. Turn a text or barcode field into a merge field and the API output gains a variables map; your code fills it per label.
Can I import ZPL I already have?
Yes. Paste it into the import box: fields, fonts, barcodes, boxes and graphics become editable elements, and unsupported commands are carried through as raw ZPL.
The same engine is behind the API and the guides; every tool here is also an API call.
scroll to zoom · drag to pan · R to rotate · download top-right · Esc to close