Sign In
Products
ZPL ViewerBarcode GeneratorImage → ZPLZPL cheat sheetLabel DesignerTemplate Gallery
Developers
API QuickstartAPI ReferenceMCP ServerBulk GenerationWebhooksSDKs & ExamplesLimitsDirectPrint agent NewGitHub ActionVS Code extensionOn-Premise
Solutions
Logistics & ShippingE-CommerceERP & WMSManufacturingRetailHealthcare & LaboratoryAll solutions
Tools
ZPL Diagnostics HubZPL DebuggerSize & DPI AnalyzerDPI ConverterBarcode fit calculatorShipping Label AnalyzerFont InspectorOrientation DebuggerCalibration AssistantPrinter Compatibility CheckerBarcode Readability CheckerPrinter Language DetectorThermal Printer Test PackZPL ToolsEPL ToolsTSPL ToolsCPCL ToolsPrinter Language ConverterAll ToolsGuidesPricing
Language
EnglishTürkçeDeutsch
Home›ZPL Lint Rules›ZPL4003

ZPL4003 — GS1 data without GS1 mode (no FNC1)

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.

SeverityWarning
CategoryBarcodes

Label that triggers it

^XA^FO50,50^BY2^BCN,100,Y,N,N^FD(01)09501101530003^FS^XZ

Finding: 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 →

How to fix it

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.

Corrected label

^XA^FO50,50^BY2^BCN,100,Y,N,N,D^FD(01)09501101530003^FS^XZ

Open the corrected label in the editor

Commands involved

^BC · ^BX

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

In CI

npx labelixa validate "labels/**/*.zpl" lints your files and prints this page's address next to each finding. /docs/cli

Lint your ZPL now