Paste ZPL and see each field's rotation and bounding box drawn over the preview, how ^FW and ^PO change the printed layout, and what each ^FW default would do — one click per option. Positions come from the render engine itself, not a second parser.
Try a ^FW default:
| # | Type | Rotation | Origin (x, y) | Printed (x, y) | Size (dots) | Clipped | Data |
|---|
Developers and support engineers chasing "the label prints sideways", "upside down" or "the barcode is on the wrong end" tickets. ZPL has three switches that all look like rotation and behave differently: ^FW sets the default rotation for fields that do not name their own, the rotation letter in ^A and ^B commands overrides it per field, and ^PO turns the whole finished label 180° in the printer. Reading the code rarely tells you which one moved a field; seeing each field's box, its effective rotation and where it lands after ^PO does. The tool uses the same render engine as the ZPL viewer, so the boxes are taken from the drawing itself rather than from a second parser that could disagree with it. It deliberately stops at the label: whether the physical label comes out of the printer head-first or tail-first also depends on media loading, tear bar and peeler setup, and no ZPL analysis can know that.