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›ZPL4004

ZPL4004 — GS1 check digit is wrong

A fixed-length GS1 Application Identifier that ends in a mod-10 check digit (00 SSCC, 01 and 02 GTIN, 410 to 415 GLN) carries a last digit that does not match the computed one. The barcode still scans, so the wrong number reaches the receiver's system. ^BC modes U and D are different: the printer calculates the check digit itself, so mode U is not checked and mode D gets the ZPL4006 note instead.

SeverityWarning
CategoryBarcodes

Label that triggers it

^XA^FO50,50^BXN,6,200,,,,_^FD_1(01)09501101530004^FS^XZ

Finding: ZPL4004 · line 1:27 — GS1 AI (01) check digit is wrong: 4 given, should be 3

Open the broken label in the editor →

How to fix it

Replace the last digit with the value given in the message, or recompute it from the source system. The example uses the correct GTIN 09501101530003.

Corrected label

^XA^FO50,50^BXN,6,200,,,,_^FD_1(01)09501101530003^FS^XZ

Open the corrected label in the editor

Commands involved

^BX

ZPL4001 Barcode without data · ZPL4002 EAN-13 data is not 12–13 digits · ZPL4003 GS1 data without GS1 mode (no FNC1) · 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