will look wrongLY-06layout

Every label after the first prints offset

^LH leaks. It stays in effect across labels and across jobs, so every label after this one is offset by the same amount.

Set ^LH explicitly in every format, including ^LH0,0 where you want none.

A label that trips it
^XA^LH30,30^FO50,50^FDA^FS^XZ
^XA^FO50,50^FDB^FS^XZ
Rendered example
What the check looks for

^LH set in one ^XA block and not reset in a following block in the same stream.

What Labelproof says about it3 findings · LY-06 highlighted
will failLY-02^XA · offset 0 · label 1

Neither ^PW nor ^LL is set. Both fall back to a value stored in the individual printer, not to a value in the spec — so the same ZPL prints differently on two printers of the same model.

Set ^PW and ^LL explicitly in every format.

will failLY-02^XA · offset 30 · label 2

Neither ^PW nor ^LL is set. Both fall back to a value stored in the individual printer, not to a value in the spec — so the same ZPL prints differently on two printers of the same model.

Set ^PW and ^LL explicitly in every format.

the rule on this page
will look wrongLY-06^LH · offset 0 · label 1

^LH leaks. It stays in effect across labels and across jobs, so every label after this one is offset by the same amount.

Set ^LH explicitly in every format, including ^LH0,0 where you want none.

Check your own label

No signup, and we do not store your labels.

Open the linter