BarcodX
Supply Chain Comparison

Code 128 vs. GS1-128

Understand the critical difference between a standard Code 128 barcode and the strict GS1-128 compliance standard used for shipping.

Code 128 vs GS1-128: What is the Difference?

Internal vs. External Tracking

While they share the exact same physical bar-and-space architecture, Code 128 and GS1-128 (formerly UCC-128) serve entirely different purposes in the world of logistics.

A standard Code 128 is a flexible, open-standard symbology. You can encode any alphanumeric string you want into it. If you want a barcode that simply says RACK-99-BLUE for your own internal warehouse tracking, you use standard Code 128.

The Strict GS1-128 Standard

GS1-128 is a strictly regulated subset of Code 128 used for external, global supply chain compliance (like shipping pallets to Walmart, Target, or hospitals). Because these pallets move between different companies, they must speak a universal data language.

To be a valid GS1-128 barcode, it must meet two critical requirements:

  1. The FNC1 Character: The data string must begin with a hidden "Function 1" control character. This instantly tells the receiving scanner, "This is not a regular Code 128; parse this using GS1 rules."
  2. Application Identifiers (AIs): The data must be formatted using AIs. These are standardized 2-to-4 digit codes that tell the scanner exactly what the following data means. For example, (10) means Batch Number, and (17) means Expiration Date.

When to Use Which

If you are building an internal tracking system for your own business, use standard Code 128. It is much easier to implement and requires no formatting rules. If a retailer or logistics partner provides a compliance manual and requires a shipping label (like an SSCC or ASN), you absolutely must generate a GS1-128 barcode.

If you're generating GS1-128 barcodes for pharmaceutical or medical device labeling, use our dedicated pharmaceutical barcode generator which validates Application Identifiers for drug serialization.

Frequently Asked Questions

Key Differences
SymbologyPhysically Identical
Format RulesGS1-128 is Strict
FNC1Mandatory in GS1
Best ForSupply Chain Labels
Parsing Tip
Do not encode the parentheses around Application Identifiers into the barcode data. They are only meant to be printed in the human-readable text below the bars.

Generate Compliant Supply Chain Codes

We automatically inject the mandatory FNC1 characters and validate your GS1 Application Identifiers.

Pharma Barcode Generator

Create standard or GS1-128 barcodes for compliance labeling.

Related Guides & Articles