The field data starts with a parenthesised Application Identifier such as (01), but the symbol is plain Code 128 or plain Data Matrix: ^BC is not in mode D or U and the data has no >8 (FNC1), or ^BX has no escape character or the data does not start with the escape character followed by 1. The barcode prints and scans, but as ordinary text with the parentheses encoded, so receiving systems that expect GS1 reject it.
^XA^FO50,50^BY2^BCN,100,Y,N,N^FD(01)09501101530003^FS^XZFinding: ZPL4003 · line 1:30 — ^BC data starts with a GS1 AI but the symbol is not in GS1 mode (no FNC1) — scanners read plain text and the parentheses are encoded
Open the broken label in the editor →
For GS1-128 set the ^BC mode parameter to D. For GS1 Data Matrix set an escape character in ^BX (for example _) and start the data with _1. The example is fixed with mode D.
^XA^FO50,50^BY2^BCN,100,Y,N,N,D^FD(01)09501101530003^FS^XZOpen the corrected label in the editor
ZPL4001 Barcode without data · ZPL4002 EAN-13 data is not 12–13 digits · ZPL4004 GS1 check digit is wrong · ZPL4005 GS1 AI value has the wrong length · ZPL4006 GS1 check digit set by the printer
npx labelixa validate "labels/**/*.zpl" lints your files and prints this page's address next to each finding. /docs/cli