will failFLD-C128C-ODD-001barcode

Code 128 subset C mangles an odd number of digits

Subset C encodes digits in pairs. This payload has an odd number of digits, so the last one is dropped — the barcode prints, scans cleanly, and returns one digit short of the data underneath it.

Pad to an even digit count, switch to Subset B (>:), or let ZPL auto-select the subset.

A label that trips it
^XA^BY2^FO55,50^BCN,100,Y,N,N^FD>;1234567890123^FS^XZ
What the check looks for

A ^BC field whose ^FD invokes Subset C (>; as a Start Code, or >5 within the data), where the digit run handed to Subset C has an odd length.

What Labelproof says about it5 findings · FLD-C128C-ODD-001 highlighted
will failLY-02^XA · offset 0 · label 1

Neither ^PW nor ^LL is set. Both fall back to a value stored in the individual printer, not to a value in the spec — so the same ZPL prints differently on two printers of the same model.

Set ^PW and ^LL explicitly in every format.

will failBC-05^BY · offset 7 · label 1

The bar width is outside the GS1-128 range (0.495 mm to 0.940 mm, 0.495 mm target). At 203 dpi that means ^BY 4 or greater.

Raise ^BY to at least 4 at 203 dpi, or 6 at 300 dpi.

At 203 dpi ^BY2 — the power-up default — and ^BY3 both fail GS1.

will failBC-06^BC · offset 7 · label 1

This GS1-128 is shorter than the 31.75 mm GS1 requires. It may scan on a handheld and fail at a fixed scanner.

Set the height to at least 254 dots at 203 dpi, or 375 at 300 dpi.

the rule on this page
will failFLD-C128C-ODD-001^BC · offset 7 · label 1

Subset C encodes digits in pairs. This payload has an odd number of digits, so the last one is dropped — the barcode prints, scans cleanly, and returns one digit short of the data underneath it.

Pad to an even digit count, switch to Subset B (>:), or let ZPL auto-select the subset.

Cloud Retailer help desk, "Zebra Label Missing Last Digit and/or Not Scanning All Digits in Barcode": odd-length codes such as EAN-13 lose the final digit — "subset C cannot process single digits, it MUST be in a pair." A customer-reported production failure, documented by a vendor.

will failGS-05^BC · offset 7 · label 1

This GS1-128 is missing the leading FNC1. Without it the symbol is a plain Code 128 and the scanner will not read the AIs.

Add FNC1 (>8) immediately after the subset start code, or use ^BC mode D.

Why this matters

Cloud Retailer help desk, "Zebra Label Missing Last Digit and/or Not Scanning All Digits in Barcode": odd-length codes such as EAN-13 lose the final digit — "subset C cannot process single digits, it MUST be in a pair." A customer-reported production failure, documented by a vendor.

Check your own label

No signup, and we do not store your labels.

Open the linter