← Blog
Guide8 min read

Code128 vs EAN-13: Which Barcode Should You Use?

Choosing the wrong barcode format can cause scanning failures at checkout, warehouse systems, or customs. Here's a clear breakdown of Code 128 vs EAN-13 so you can pick the right one for your use case.

Written and tested by LeekaiIndependent developer in Germany · creator of BarcodeMaker
Reviewed and updated: June 13, 2026
How this guide was checked

We reviewed the workflow distinction between internal identifiers and globally unique retail product identifiers. BarcodeMaker is positioned for internal Code 128 labels, not for issuing GTINs.

What is Code 128?

Code 128 is a high-density linear barcode symbology that can encode all 128 ASCII characters — letters, numbers, special characters, and control codes. It was developed in 1981 and is now one of the most widely used barcode formats in logistics, shipping, warehouse management, library systems, and internal inventory tracking. Code 128 has no fixed length restriction, meaning you can encode short codes like "A01" or long codes like "WAREHOUSE-SHELF-12-BIN-047-ZONE-B" in the same format. It is recognized by virtually all modern barcode scanners.

What is EAN-13?

EAN-13 (European Article Number, also known as International Article Number) is a 13-digit barcode standard used globally to identify retail consumer products. It is the barcode you see on grocery items, books, electronics, and consumer goods in stores worldwide. Every EAN-13 barcode encodes a Global Trade Item Number (GTIN-13) that must be registered through a national GS1 member organization. This registration is how the barcode becomes globally unique — any scanner in any country can identify the exact product.

How GS1 Registration Works for EAN-13

To use EAN-13 on retail products, you register a company prefix with your country's GS1 member organization. GS1 charges an annual fee for this prefix. Once you have a prefix, you can assign item reference numbers within that prefix to create individual GTINs for each product. You are responsible for managing item numbers under your prefix and ensuring no duplicates. The cost and capacity (number of GTINs) varies by country and membership tier.

Key Differences at a Glance

  • Code 128 can encode any alphanumeric data of any length; EAN-13 always encodes exactly 13 numeric digits
  • Code 128 requires no registration; EAN-13 requires a GS1 company prefix obtained through a national GS1 member
  • Code 128 is ideal for internal systems; EAN-13 is the standard for consumer retail product identification
  • Creating a Code 128 barcode does not assign a globally unique product identity
  • EAN-13 barcodes are expected and required by most point-of-sale systems in physical retail stores

When to Use Code 128

  • Internal inventory and warehouse labels where you control the scanning environment
  • Shipping and logistics labels (carrier systems typically use Code 128 or similar)
  • Library, healthcare, and asset tracking systems
  • Packing station and pick-and-pack labels
  • Internal transfer labels between facilities you operate
  • Any internal workflow where you define the barcode values yourself

When to Use EAN-13

  • Products sold in physical retail stores through a point-of-sale system
  • Consumer goods listed on Amazon, Walmart, Target, or similar marketplaces that require a GTIN
  • Products exported to other countries where retailers expect a registered barcode
  • Supermarket and grocery store shelves where checkout systems use EAN/UPC
  • Products that will be scanned by third-party systems outside your control

Can You Print EAN-13 with BarcodeMaker?

BarcodeMaker generates Code 128 barcodes, not EAN-13. If you need EAN-13 barcodes for retail, you first need to obtain a GS1 company prefix and assigned GTINs. Once you have the 13-digit numbers, you need a barcode tool that specifically generates the EAN-13 symbology with the correct check digit calculation. Code 128 and EAN-13 are different formats and are not interchangeable at retail point-of-sale systems.

A Practical Decision Guide

If you are labeling products for your own warehouse, stockroom, packing table, or internal tracking system — use Code 128 with BarcodeMaker. If you are planning to sell products in physical stores, grocery chains, or major online marketplaces that require a GTIN — you need an official EAN-13 or UPC barcode from a GS1-registered source. Many small sellers use Code 128 labels for internal use and obtain EAN/UPC barcodes separately only when they need to list on platforms that require them.

Primary references

GS1: Barcode typesPrimary overview of GS1 barcode families and where they are used.GS1: Global Trade Item Number (GTIN)Primary explanation of globally unique retail product identification.GS1 General SpecificationsPrimary reference for symbol dimensions, quiet zones, data structures, and verification requirements.

External references are provided for standards and platform-specific details. BarcodeMaker is not affiliated with GS1, Shopify, Google, or Adobe.

Continue with a practical check
Use the print quality checklistRead our editorial and testing policy
👨‍💻
LeekaiWritten by Leekai — developer based in Germany, creator of BarcodeMaker.xyz. Questions or feedback: leekai.studio@gmail.comLast updated: June 2026

Generate Code 128 barcode labels from Excel — free

Try BarcodeMaker Free →