Code 128 vs GS1-128: Why They Are Not Interchangeable
Compare Code 128 with GS1-128 using internal inventory and logistics examples, including FNC1, AIs, and UDImaker support.
GS1-128 uses the Code 128 symbology with a GS1 start convention and structured GS1 data. Plain Code 128 can carry an internal reference without giving that reference a GS1-defined meaning. Similar bars do not make the two workflows interchangeable.
Begin with what the receiving system expects
Imagine an internal warehouse location DEMO-A03-B02-L01. If the warehouse application expects that exact reference, a plain Code 128 is a suitable example to test.
A trading partner asking for a GS1 logistic label expects a particular structure and assigned identification data. An SSCC, for example, belongs to its defined GS1 element under AI (00). Passing a long numeric string through a plain Code 128 field does not establish those conventions.
Understand the role of FNC1
GS1-128 places FNC1 immediately after the start character to identify the GS1 use of Code 128. Application Identifiers describe the following fields, and separators are needed where the GS1 element-string rules require them.
Parentheses in the readable text are not a replacement for that start convention. A label caption such as (00), or a title that says GS1, cannot change the encoded symbol.
Also distinguish the barcode's internal symbol check character from a GS1 identifier's check digit. A Code 128 encoder calculating its own symbol check character does not validate an assigned GTIN or SSCC.
Test an internal Code 128 example
- Open the Code 128 generator.
- Enter DEMO-A03-B02-L01 without an added prefix or suffix.
- Enable readable text and keep clear space around the bars.
- Export the design with a verified account.
- Decode the image and confirm an exact match.
- Print and test with the warehouse application and intended scanner.
If the application cannot find the location, check that its master record exists. The barcode carries the reference; it does not create the warehouse record.
Respect the supported workflow
UDImaker generates plain Code 128, GS1 DataMatrix, and QR Code. Native GS1-128 and SSCC generation are not currently supported. Use a suitable approved source for required GS1-128 artwork; if importing that artwork, preserve proportions, readable data, and quiet zones.
Do not switch from a required GS1-128 to GS1 DataMatrix merely because the latter is available. The recipient must support and accept the carrier. The warehouse label guide separates internal locations, GS1 logistics labels, and carrier-issued shipping labels.
Sources and technical review
Relevant primary references are listed below. These guides explain the design workflow; confirm current sector requirements and local regulations before production use.