Last updated 15 February 2026SKUWorks Team

GS1-128 vs Code 128: What's the Difference?

Code 128 vs GS1-128: when to use each, key differences, Application Identifiers, and practical examples for cartons, pallets, and internal workflows.

Barcode Types
Logistics
Supply Chain
Code 128
GS1-128
Application Identifiers
SSCC
pallet labels
carton
barcode

GS1-128 vs Code 128: What's the Difference?

(Complete Guide + FAQ)

If you've ever searched for "GS1-128 vs Code 128", you're not alone. The names sound similar. They even look identical at first glance.

But they are not the same thing.

This guide breaks down:

  • What Code 128 actually is
  • What GS1-128 really means
  • The key differences
  • When to use each
  • Common mistakes to avoid
  • Practical examples for cartons, pallets, and internal workflows

Let's make this simple.


What Is Code 128?

Best for: Internal use only
Format: Linear barcode symbology

Code 128 is a barcode symbology. That means it's just the technical format used to encode data into bars and spaces.

Key Characteristics

  • High-density linear barcode
  • Can encode letters, numbers, and symbols
  • Compact and efficient
  • No built-in data structure
  • Common in logistics and internal systems

Example Use Cases

  • Internal SKU labels
  • Picking bins in warehouses
  • Internal ID tracking
  • Serial numbers
  • Short alphanumeric references

Example Data in Code 128

  • SKU-AX93-RED-01
  • PO-47291
  • INT-REF-88922

There are no predefined rules about what the numbers mean. You decide the structure.


What Is GS1-128?

Best for: Supply chain, pallets, retail cartons
Format: Code 128 under GS1 standards

GS1-128 is not a different barcode type. It is Code 128 used under the GS1 standard with structured data rules.

It follows global standards set by GS1.

The Critical Difference

GS1-128 uses:

  • Application Identifiers (AIs) — prefixes that define what the data means
  • Standardised data formats
  • Globally recognised structure

This makes the data readable across supply chains worldwide.


What Are Application Identifiers (AIs)?

Application Identifiers are prefixes that define what the next numbers mean.

AIMeaning
(01)GTIN (product number)
(10)Batch / Lot number
(17)Expiry date
(21)Serial number
(00)SSCC (pallet ID)

Example GS1-128 Data String

(01)05012345678903(17)250630(10)BATCH123

This means:

  • GTIN: 05012345678903
  • Expiry: 30 June 2025
  • Batch: BATCH123

That structure is globally understood. See GTINs Explained for more on GTIN formats.


GS1-128 vs Code 128: Side-by-Side Comparison
FeatureCode 128GS1-128
Barcode TypeLinearLinear
Based OnCode 128Code 128
Governing StandardNoneGS1
Data StructureFlexibleStrict (AI-based)
Global Supply Chain UseNoYes
Used for Retail CartonsSometimesYes
Used for Pallets (SSCC)NoYes
Used for Internal IDsYesRarely

When Should You Use Code 128?

Use Code 128 when:

  • The barcode is for internal use only
  • It won't be scanned by retailers
  • It won't be used in global supply chains
  • You just need a compact barcode for internal tracking

Typical Examples

  • Warehouse shelf labels
  • Internal production references
  • Work-in-progress tracking
  • Temporary logistics labels

If it's inside your own system only → Code 128 is usually fine.


When Should You Use GS1-128?

Use GS1-128 when:

  • You're shipping to retailers
  • You need SSCC pallet labels
  • You're encoding GTIN + batch/expiry
  • A retailer or distributor requires GS1 compliance
  • You're working in regulated industries

Typical Examples

  • Outer cartons sent to retailers (see Which Barcode Should I Use?)
  • Pallet labels (SSCC)
  • Food products with expiry dates
  • Medical or pharmaceutical shipments
  • Cross-border logistics

If it leaves your building and enters a formal supply chain → use GS1-128.


Real-World Example

Scenario 1: Internal SKU Label

You print: YOP-A5-RED-2025

You use Code 128. Simple. Clean. Efficient.

Scenario 2: Pallet Shipping to a Retailer

You must encode:

  • SSCC
  • Batch
  • Expiry

You use GS1-128 with AIs like:

(00)123456789012345678(10)BATCH123(17)250630

Retailer systems expect this format.


The Biggest Confusion

Many people think: "GS1-128 is a different barcode type."

It isn't. It's Code 128 with rules.

Think of it like this:

  • Code 128 = the alphabet
  • GS1-128 = grammar + sentence structure

Common Mistakes to Avoid
MistakeWhy It Matters
Using Code 128 for pallets that require SSCCRetailers may reject shipments
Not including Application IdentifiersScanners won't interpret structured data properly
Mixing EAN-13 with logistics labelsEAN-13 is for retail products, not cartons or pallets
Generating GS1-128 without a valid GS1 company prefixIf you're encoding GTINs or SSCCs, you must follow GS1 allocation rules

Quick Decision Guide
SituationUse
Retail productEAN-13
US retailUPC-A (or EAN-13)
Internal warehouse labelCode 128
Carton to retailerGS1-128
Pallet label (SSCC)GS1-128
Batch + expiry requiredGS1-128

Frequently Asked Questions

Is GS1-128 the same as Code 128?

No. GS1-128 uses Code 128 technology but follows GS1 structured data standards.

Can I scan both with the same scanner?

Yes. Most modern barcode scanners can read both. The difference is how the data is structured and interpreted.

Do I need a GS1 membership to use GS1-128?

If you are encoding GTINs, SSCC, or official GS1 identifiers — then yes, you need a valid GS1 company prefix. If you are just using Code 128 internally, you don't.

Can I use Code 128 for retail products?

No. Retail products require EAN-13 or UPC-A.

Is GS1-128 required for Amazon?

For cartons and pallets in certain fulfilment scenarios, yes. For individual product barcodes, Amazon typically requires EAN/UPC.

Why does my retailer reject my barcode?

Common reasons: wrong barcode type, missing Application Identifiers, incorrect SSCC format, or non-GS1 compliant data. Retailers rely on automation. If it doesn't match the standard, it fails.


Final Takeaway
  • If it stays inside your business → Code 128.
  • If it enters the global supply chain → GS1-128.

Don't overcomplicate it. But don't guess either — retailers and logistics systems are strict.

If you're building systems like SKU management, label generators, or carton workflows, getting this right early will save you endless headaches later.

In SKUWorks

You can generate both Code 128 and GS1-128 in the barcode generator, with Application Identifier support for supply chain–ready labels.