Verify batch, serial and pallet labels before sending them to the production line.
Manufacturing labels usually involve serial numbering: the same template is printed hundreds of times with an incrementing number. A mistake in the template ruins not a single label but the whole batch. Production labels are also exposed to dust, moisture and abrasion; if the barcode's module width is too small, the read rate drops and the problem only surfaces at shipping.
For templates that generate an incrementing number, pick and preview the label at any position in the sequence; compare the first and last label without printing.
Change the barcode module width and compare the output; a narrow module causes read problems on the production floor.
Common industrial symbologies are supported, including GS1 DataBar, Data Matrix and PDF417.
Produce labels of different sizes from the same endpoint; you specify the size in the request URL.
This image was produced from the ZPL beside it with the Labelixa engine.
Try your own ZPL code →^XA
^FO25,20^A0N,30,28^FDBATCH LABEL^FS
^FO25,58^A0N,20,18^FDItem: Bearing 6205-2RS^FS
^FO25,84^A0N,20,18^FDBatch: 2026-P-0417^FS
^FO25,110^A0N,20,18^FDProduced: 2026-07-23^FS
^BY3,3,80^FO25,142^BCN,80,Y,N,N^FD2026P0417^FS
^FO330,142^BXN,6,200^FD2026-P-0417^FS
^FO25,250^A0N,20,18^FDQuantity: 500 units / Pallet 1/4^FS
^XZPart marking, small surfaces
SYMBOLOGYITF-14Trade-unit code on cases and pallets
SYMBOLOGYPDF417High data capacity, pallet labels
Food, cosmetics and non-pharma chemicals carry three fields together: lot number, production date and expiry date. All three are variable; a date typed into the template means hundreds of labels with the same date. The ready-made lot/expiry template keeps the three fields variable and uses the GS1-128 application identifiers (10) for lot and (17) for expiry. Product lot/expiry template · Same date on every label
You do not need to send a separate ZPL job per label to get an incrementing number: ^SN increments the number in a field by the given step on every copy, and with ^PQ one job yields hundreds of numbered labels. The preview shows the first label; check separately that the last number still fits the field (0999 → 1000). ^SN command · ^PQ command
On the shop floor the module width decides the read rate: a 3-dot module instead of 2 in ^BY makes the barcode about half as wide again at 203 dpi and keeps it readable on a scuffed surface. When a small part leaves no room, Data Matrix fits the same data into a few square centimetres. The causes of a barcode that prints but does not scan have their own guide. ^BY command · Data Matrix · Barcode not scanning
A production order is usually a table: part number, lot, quantity. One template plus the rows of that table produces the labels in bulk; the template is verified once, the rows change. A hundred-row CSV instead of a hundred hand-edited labels. ZPL labels from Excel/CSV
Yes. ZPL templates that generate an incrementing number are rendered, and you can pick and view the label at any position in the sequence.
Generated barcode images are read back with an independent decoder and verified to match the data exactly. The physical read rate also depends on module width and print quality.
Yes, 24 dpmm (600 dpi) is supported.