Published: · Updated:
Try a ^FW default:
| # | Type | Rotation | Origin (x, y) | Printed (x, y) | Size (dots) | Clipped | Data |
|---|
The label comes out rotated 180 degrees — or one field lies sideways while the rest stand straight. ZPL has three separate switches that rotate things, they stack on top of each other, and the fix depends on which one is set. Guessing costs labels; reading the file does not.
^PO — the whole label. ^POI
(invert) prints the entire label rotated 180°. It is the usual culprit when
everything is upside down and the layout is otherwise perfect: someone set it
for a printer mounted with the tear bar on the other side, and the file then
travelled to a normally mounted printer.^FW — the default for all fields. It sets
the rotation every following field inherits unless it says otherwise. A
^FWR near the top of the file silently turns every field 90° —
the classic "all my text is sideways" case.^A — one field.
^A0N,40,40 is normal; R, I,
B rotate that single field 90/180/270°. One sideways field among
straight ones means one wrong letter, not a printer problem. An orientation
letter outside N/R/I/B is invalid — the field falls back to the default,
which is why a "harmless typo" changes the layout.Search the ZPL for ^PO, ^FW and the first
parameter of each ^A. Everything upside down →
^POI. Everything sideways → ^FW. One field off →
that field's ^A letter. The printer's own default orientation
(set from the front panel or a driver) matters only when the file says
nothing — an explicit command in the file always wins, which is also the
robust fix: state the orientation you want instead of inheriting whatever
the printer remembers.
| What you see | Which switch | Fix in the file |
|---|---|---|
| Whole label rotated 180°, layout otherwise perfect | ^POI |
Delete it, or write ^PON explicitly |
| Every field sideways (90°), positions still sensible | ^FWR (or B) near the top |
^FWN, or remove the command |
| One field rotated, the rest straight | The orientation letter of that field's ^A |
Set it to N; a letter outside N/R/I/B is invalid and
triggers rule ZPL5003 |
| Upside down only on one printer, same file fine elsewhere | That printer's saved ^PO default |
Put ^PON in the file so the file wins over the panel setting |
| Mirror writing | None — not a ZPL rotation | Driver / export "mirror image" option |
^POI also moves things. The flip is a rotation about
the label centre, not a rotation of each field in place. On a 4×6-inch
label at 203 dpi (^PW812^LL1218) a field placed with ^FO50,50 prints with its
far corner at the opposite edge — the orientation checker reports the
printed position as 812 − 50 − width, 1218 − 50 − height. So a "fix" that
only flips the text back with ^A0I leaves every field in the
wrong corner; the real fix is the ^PO line. If the symptom is
something else entirely — blank, shifted, cut off — the
ZPL prints incorrectly
triage sorts it by what came out of the printer.
Rotation and mirroring are different failures. A label that reads
back-to-front (mirror writing) is not a ZPL rotation — no combination of
^PO/^FW/^A mirrors text. That points
at a driver or export step, typically a "mirror image" option meant for
printing on transparent stock from the inside.
A browser preview applies ^FW and the per-field
^A orientations exactly as a printer would, and a structural
check flags an invalid orientation letter — the typo that silently changes a
field's direction. ^PO is different: the flip happens inside the
printer at print time, so a preview correctly shows the label upright — if
the file says ^POI, expect the physical output rotated 180°
relative to what you see.
Almost always ^POI in the file: it prints the whole label rotated 180 degrees. It was set for a printer mounted the other way and the file then travelled to a normally mounted one. Remove it or set ^PON explicitly.
A ^FW command near the top of the file sets the default rotation every following field inherits — ^FWR silently turns everything 90 degrees. One sideways field among straight ones is that field's own ^A orientation letter instead.
None. No combination of ^PO, ^FW and ^A mirrors text; ZPL rotates, it does not flip. Mirror writing points at a driver or export option, typically a mirror-image setting meant for printing on transparent stock from the inside.
Yes. The flip is a rotation about the label centre, so a field at ^FO50,50 prints with its far corner at the opposite edge (on a 4x6 label at 203 dpi: 812 - 50 - width, 1218 - 50 - height). Rotating the text back with ^A0I does not undo that; fix the ^PO line itself.
A completely empty label usually has a structural cause: a format that never opens or closes, fields swallowed by a missing ^FS, or data with no position.
ZPL label content shiftedA layout that prints shifted has four suspects in the file — ^LH, ^LS, ^LT and the ^FO/^FT difference — before any sensor is to blame.
Zebra prints an extra blank labelA blank label after every print, a skipped or half-printed label: two causes in the ZPL (^LL, ^PQ), two in the printer, one in the driver. Check in that order.
ZPL text runs off the label edge (wrap it with ^FB)A long ^FD value prints past the label edge because plain ZPL text never wraps. ^FB turns it into a block: width, line count, line breaks, alignment.