UCC-128 barcode: the same symbol as GS1-128
If a routing guide asks for a UCC-128 label and your software offers GS1-128, you are looking at the same barcode under two names. UCC/EAN-128 is a third. Here is where the names come from and what to actually produce.
One barcode, several names
The names follow the organisations. The GS1 General Specifications recount the history in their introduction: the system began in the United States in 1973 under the Uniform Product Code Council, later called the Uniform Code Council (UCC). EAN International was set up in 1977 to develop a compatible system outside North America. In February 2005 GS1 was launched as the successor to both.
The current standard calls the barcode GS1-128. Other documents in use today still carry the older organisation names:
| Name | Where you will see it |
|---|---|
| GS1-128 | The current GS1 standard. Section 5.4 of the General Specifications is titled for it. |
| UCC/EAN-128 | Zebra's ZPL guide for the ^BC command still uses this name. It describes "The UCC/EAN-128 Symbology" as a variant of Code 128 used to represent application identifier data. |
| UCC-128 or UCC 128 | Retailer vendor manuals. The two published chargeback schedules cited on this site, from Designer Brands (revised June 2026) and Foot Locker (July 2026), both list their carton label fees under this name. |
What a UCC-128 barcode actually is
A Code 128 barcode whose first character after the start character is FNC1, carrying data organised by application identifiers. Zebra's guide gives the make-up as a leading quiet zone, a Code 128 start character, an FNC1 character, the data (application identifier plus data field), a symbol check character, a stop character and a trailing quiet zone. That is the same structure GS1 specifies for GS1-128, covered in detail on the GS1-128 label page.
A plain Code 128 barcode without the FNC1 is not a UCC-128 barcode, even if it holds the same digits. The General Specifications are explicit that a Code 128 symbol not beginning with the start character and FNC1 pair is never a GS1-128 barcode (section 5.4.3.7).
What "UCC-128 label" means on a routing guide
In the two schedules cited above the term covers both the label on the carton and the number it carries. Designer Brands lists "No UCC-128 label on carton" and "Duplicate UCC-128 number used" as separate errors. A number that must be different on every carton is what the GS1 standard calls an SSCC, encoded under application identifier (00). That reading is ours, not a statement from either retailer, so confirm the data your trading partner expects in their own guide.
The exact layout, the extra fields and where the label goes on the box are the retailer's to define. The SSCC label guide covers the parts GS1 itself fixes.
The fees attached to getting it wrong are listed, with their sources, on the retailer label chargebacks page.
Producing one in ZPL
In ZPL the barcode is drawn with ^BC, and the field data begins >;>8: start in subset C, then FNC1. The annotated ZPL example walks through a complete label, and the application identifier table lists the data formats.
Whatever your routing guide calls it, the generator produces the barcode: Code 128 with FNC1 and the SSCC under (00), as ZPL.
Open the label generatorSources
- GS1 General Specifications Standard. GS1. Release 26.0, ratified January 2026. Read 9 October 2026.
- ZPL II Programming Guide: ^BC, Code 128 Barcode (Subsets A, B, and C). Zebra Technologies. Online guide. Read 9 October 2026.
- Vendor Chargeback Policy, section 11 (DSW, DSW.com). Designer Brands. Revised June 2026. Read 9 October 2026.
- Vendor Standards Manual, Section 9: Vendor Compliance Program, Chargebacks and Policies. Foot Locker. July 2026. Read 9 October 2026.