GS1 Barcode Standards: The Basics and Operational Pitfalls

· · GS1, Barcode, GTIN, GS1-128, GS1 DataMatrix, Inventory Management

A common thing in barcode consultations is that “we want to add a JAN code”, “we want GS1-128”, and “we want a QR code” all get mixed together as if they were the same layer of discussion.

In reality, there are things that should be separated first.

  • What do you want to identify
  • What attribute data do you want to carry
  • Which symbol will represent it
  • After scanning, how will the upstream system interpret it

GS1 is the standard that connects these four. It is a contract that covers not just “how to assign numbers” but also the meaning of the data, the barcode as a carrier, placement and quality, and post-scan processing.1

What follows is an overview based on GS1 / GS1 Japan / Japanese Ministry of Health, Labour and Welfare materials verifiable as of April 2026.

Table of Contents

  1. The Conclusion First
  2. The Layers Standardized by GS1
  3. The Use Cases to Separate First in Practice
  4. Representative Rules Defined by GS1
  5. Points Where Real Operations Get Stuck
  6. Examples with Strong Regulatory or Industry Requirements
  7. The Order in Which to Roll Out
  8. Summary
  9. References

1. The Conclusion First

In practical GS1 work, these are the five points to grasp first.

  1. GTIN and barcode types are different things. The GTIN is the product identification code; EAN/UPC, ITF, GS1-128, GS1 DataMatrix, and GS1 QR Code are ways of representing it. Mix these up and the design falls apart.23

  2. A GTIN alone is often not enough. If you need to handle lot numbers, expiration dates, or serial numbers, you must carry the attributes separately using GS1 Application Identifiers (AIs).4

  3. POS, logistics, and traceability favor different symbols. Consumer-facing POS centers on the GTIN, logistics on GTIN-14 and SSCC, and traceability or regulated sectors typically add lot / expiry / serial to the GTIN.25

  4. Operational accidents happen on the receiving side, not in the printing. Unless you also decide on FNC1, separators for variable-length AIs, scanner configuration, symbology identifiers, the upstream system’s parser, and product master update rules, a scannable barcode is still unusable.43

  5. Retail’s 2D migration is under way, but it is still a transition period. GS1’s retail 2D guideline assumes that, until POS systems sufficiently support 2D, you print not only the 2D code but also a linear barcode for POS alongside it.67

In short, rather than starting from barcode generation, you fail less if you first decide who reads what, where, and for which business process.

2. The Layers Standardized by GS1

2.1 Identification Codes

GS1 first provides identification keys for “what to identify”.

The representative key for identifying products is the GTIN. GTINs come as GTIN-8 / 12 / 13 / 14; in Japan, GTIN-13 and GTIN-8 are widely used as JAN codes. GTIN-13 is used for individual items or the smallest trade unit, while GTIN-14 is used for grouped packaging such as cases and inner packs.2

The representative key for identifying logistics units is the SSCC. Attaching an SSCC to a pallet or case, linking it to shipping data, and thereby simplifying goods-receipt inspection is a quintessentially GS1 way of working.5

The important point here is that a GTIN is a key that says “which product” — it does not double as a lot or expiry. Lots and expiration dates live in a separate layer.

2.2 AIs, Which Define the Meaning of Attribute Data

Attributes carried in addition to the GTIN are defined by GS1 Application Identifiers (AIs). An AI is a 2- to 4-digit number that determines the meaning and format of the data that follows it.43

Just the representative examples:

  • (01) GTIN
  • (00) SSCC
  • (10) lot / batch number
  • (17) expiration date
  • (21) serial number

What matters in GS1 is not “being able to read a string of digits” but being able to interpret that string with the same meaning. Thanks to AIs, even when multiple data elements are packed into a single barcode, the receiving side is far less likely to misinterpret them.4

2.3 Barcode Symbols as Data Carriers

Next comes the data carrier: “what represents that data”. In the GS1 world, this too is considered separately.18

For representing only the GTIN, EAN/UPC (the JAN symbol in Japan) and ITF are still widely used. If you want to also represent additional attributes such as dates and lot numbers, the candidates become GS1-128, GS1 DataMatrix, GS1 QR Code, and so on.3

A common misunderstanding here is that GS1-128 is not “Code 128 itself”. Likewise, GS1 DataMatrix is a GS1 subset of Data Matrix, and GS1 QR Code is a GS1 subset of QR Code. They use FNC1 to indicate conformance with GS1 rules and arrange the data using AI syntax.83

In other words, “we can generate Code 128” and “we can correctly generate GS1-128” do not mean the same thing.

2.4 Placement, Size, Quality, and HRI

The GS1 General Specifications cover not only identification codes and AIs, but also symbol size, X-dimension, quiet zones, placement, quality grading, and Human Readable Interpretation (HRI).1

This means a barcode is not a design element you can casually shrink or enlarge. For logistics and high-speed POS in particular, print quality and placement translate directly into read rates. The retail 2D guideline likewise states that placement and the handling of multiple barcodes directly affect sustained POS throughput.6

3. The Use Cases to Separate First in Practice

3.1 Consumer-Facing POS

For high-speed checkout scanning, the top priority is reading the GTIN reliably. There are more and more cases where you want to add attributes, but we are currently in a transition period, and printing a linear barcode alongside the 2D one can be necessary.67

So deciding “the QR era is here, let’s go all-2D” is dangerous. You need to confirm not only whether the POS scanner can read the code, but also what the host POS receives and what it can actually use.67

3.2 Logistics, Inbound/Outbound, SCM Labels

In logistics, the focus is identification at the case or pallet level, goods-receipt inspection, and matching against shipping data. In this context, the combination of GTIN-14 or SSCC with GS1-128 is still very strong.25

In logistics, “which unit gets linked to which data” matters more than “what was put in”. It is more natural to design the barcode together with the ASN and shipping records, not in isolation.

3.3 Traceability and Regulated Sectors

In healthcare, food, safety management, and expiry management, the GTIN alone is often insufficient. You add lot, expiration date, and serial number to the GTIN to enable tracking at the item or lot level.49

The GS1 DataMatrix guideline also notes that GS1 DataMatrix is intended mainly for use in open systems, premised on trading partners being able to read the same data with the same meaning.8

Here, what matters is not being able to print it but being able to circulate it with the same meaning all the way to trading partners and regulators.

4. Representative Rules Defined by GS1

4.1 A GTIN Is Not a Number You Can Reuse However You Like

In GTIN allocation, the key question is “may this keep the same number as the previous product?”. GS1 Japan organizes this as the “10 GTIN Management Rules”. Roughly summarized, the underlying decision axes are these three:10

  • Consumers or trading partners need to distinguish it from the previous product
  • There are regulatory or liability-disclosure requirements
  • There is a significant change affecting the supply chain — shipping, storage, receiving, and so on

In practice, the cases people agonize over involve changes to size, net content, packaging configuration, sales unit, or labeling responsibility. If you run this on sales-side judgment alone, it warps your EC, ordering, inventory, and master-data integration later.

Furthermore, in Japan, since 2019 a GTIN that has been used once can, as a rule, never be reused.11

If you do not know this and treat GTINs like “an internal code we can recycle once it frees up”, you will collide with old product information and EC history. Including the product master and externally published data, it is safer to treat the GTIN as a key whose meaning persists long-term.

4.2 AIs Come in Fixed-Length and Variable-Length Forms

Among GS1 AIs, the data that follows can be of fixed (pre-defined) length or variable length. When another element string follows an AI that is not of pre-defined length, an FNC1 separator is required. In the GS1 Barcode Syntax Dictionary, AIs of pre-defined length are marked with * to indicate that no FNC1 is needed.4

For example, the lot number AI (10) is variable length. If you concatenate another AI after it, the receiving side must be able to determine where the value of (10) ends. Implement this sloppily and you get barcodes that look plausible but cannot be parsed.

In practice, placing fixed-length elements first and variable-length elements last reduces the separators and makes things considerably more stable.12

4.3 FNC1 Is a Control Character, Not a Literal Character

FNC1 does not mean “insert the characters F-N-C-1”. GS1 Japan’s basic guide explains that FNC1 is a control character used in GS1 standard barcodes — placed at the start of a symbol to indicate GS1 data, and also used as a data separator.3

What’s more, its representation is not the same across barcode types. In GS1 QR Code, for instance, the handling of mode indicators and data separators is not identical to 1D symbols.3

The point is: do not assume the internal representation, the scanner output, and the HRI display are the same string.

4.4 Treat the String the Scanner Returns as Part of the Standard Too

Something easily overlooked in shop-floor integration is the symbology identifier the scanner prepends after decoding. GS1 Japan materials show examples where GS1-128 is reported to the host system as ]C1, GS1 DataMatrix as ]d2, and GS1 QR Code as ]Q3.3

This is not printed in the barcode itself — it is information the scanner appends to say “which kind of symbol was read”. So the receiving side must decide one of the following up front:

  • Accept the symbology identifier and branch processing on it
  • Suppress / transform it on the scanner side so the application only receives a normalized string

Build the UI or the database first without deciding this, and the moment you swap inspection terminals, every match check breaks.

4.5 Adding a 2D Code Does Not Mean Instant Replacement

GS1’s retail 2D guideline positions 2D barcodes as the future centerpiece, but states that for the time being we are in a migration period, and until 2D support at POS is sufficiently widespread, a linear barcode must be printed alongside the 2D one.6

Also, even among 2D codes, while GS1 DataMatrix is comparatively easy to read, processing QR / Data Matrix symbols that use GS1 Digital Link depends on having current or updated camera-based scanners and on host-side support.67

“A scanner exists that can read it” and “our POS / WMS / ERP can use it as part of the business process” are two different things.

5. Points Where Real Operations Get Stuck

5.1 Overwriting GTINs Without Version Control in the Product Master

If you change the meaning of a GTIN midstream, or assign a different product to an old GTIN, then EC, ordering, inventory, analytics, reports, and database registrations all degrade slowly but surely.1011

In practice, the person who allocates GTINs, the person who updates the product master, and the person who prints labels are often different people. So it is safer to establish not just allocation rules but also the change-request and history-management workflow.

5.2 Turning the “Parenthesized String” into Your Input Specification

In GS1 explanatory materials and HRI, AIs are usually shown in parentheses, like (01) or (17). That is to help humans distinguish the meanings visually.6

Scanner output and internal parsing, on the other hand, use a different representation that includes FNC1 and symbology identifiers. In other words, it is safer to separate the display string from the machine-processing string.

5.3 Don’t Sign Off Just Because “It Scanned”

GS1 also defines invalid AI combinations, and AIs that are mandatory companions of certain other AIs.43

One successful read in a print test is not enough. At a minimum, verify these separately:

  • Can it be read as a symbol
  • Is it received as the expected string
  • Are the AI separators and lengths correct
  • Does the upstream system interpret it according to the business rules
  • Is it consistent with the product master / shipping data / database

A successful scan is not a successful business process.

5.4 Don’t Judge Print Quality by How It Looks on a Monitor

The GS1 General Specifications contain rules for X-dimension, quiet zones, and quality grading. For logistics, the required dimensions and margins also differ between GS1-128 and 2D.1

In real operations, read rates suddenly drop due to mundane factors like these:

  • label printer resolution and thermal-transfer conditions
  • bleeding on cardboard or film
  • glossy surfaces and reflections
  • printing on curved surfaces
  • unauthorized shrinking during design tweaks
  • layout changes that squeeze the margins

So the benchmark should not be what you can see in Illustrator or a PDF, but reading the actual printed output at the actual distance and angle with the actual scanner.

5.5 Placing Multiple Barcodes Carelessly

The retail 2D guideline explicitly states that placement rules for multiple barcodes affect POS processing speed.6

In practice, these combinations are accident-prone:

  • placing a marketing QR code right next to the POS JAN code
  • putting linear and 2D symbols too close together
  • cramming the expiry/lot HRI into a hard-to-read spot
  • inconsistent scan orientation across back panel, side panel, and hang tags

With multiple codes, it only counts as design once you have decided not just “does it fit” but which one you want scanned first.

5.6 Not Confirming Which AIs Are Actually Used in the Field

GS1’s retail 2D guideline also notes that not every retailer can use every AI — which AIs are usable varies with where the scan happens.13

For example, even if the manufacturer wants to encode GTIN + expiry + lot, if the receiving side only uses the GTIN, the value materializes only upstream. Conversely, if the field intends to use the expiry, then WMS / stocktaking / disposal decisions all need to support it.

Checking the data you encode separately from the data that gets used makes the rollout much easier to drive.

6. Examples with Strong Regulatory or Industry Requirements

6.1 Retail’s 2D Migration

GS1 has built out the standardization and migration guidance for 2D barcodes at retail POS, with the direction of making 2D central in the future. For now, however, it is a transition period, and printing alongside a linear code remains the realistic approach until POS read-and-process capability is sufficiently widespread.67

So when adding 2D to B2C products, verify at least the following separately:

  • Can the scanner read it
  • Can the host POS interpret it
  • Does the linear code need to remain
  • Do the HRI and the placement hold up under checkout operations

6.2 Medical Devices and Similar in Japan

For medical devices, in-vitro diagnostics, and the like in Japan, ministry notifications specify quite concrete practices: displaying the product code and production identifiers per packaging unit, and using GS1-128 or GS1 DataMatrix as the barcode symbology.9

What matters here is that GS1 is not merely a “convenient private-sector convention”. In reality, laws, notifications, industry guidelines, database registrations, and hospital and distribution operations are all stacked on the assumption of GS1.

In fields like this, the mindset cannot be “we can read it internally, so it’s fine” — it has to be using GS1 in alignment with the regulatory regime, trading partners, and field operations.

7. The Order in Which to Roll Out

If you want a barcode rollout that resists breakage, the order that tends to hold together is roughly:

  1. Decide the business use case POS? Inbound/outbound inspection? Traceability?

  2. Decide the identification key GTIN, GTIN-14, or SSCC. Include GLN and others if needed.

  3. Decide the required attributes Lot, expiration date, serial, weight, price — decide per AI.

  4. Decide the symbol Which is natural: EAN/UPC, ITF, GS1-128, GS1 DataMatrix, or GS1 QR Code.

  5. Decide the scanner output specification Whether to accept symbology identifiers, how to normalize FNC1, and what to pass to the host.

  6. Decide the product master and change rules Put new GTIN allocation, changes, discontinuation, the no-reuse rule, and history management in writing.

  7. Verify printing with the real thing Confirm with the actual label, the actual packaging material, the actual scanner, at the actual distance.

  8. Test all the way through the business process Look not at “it scans” but at “stocktaking, inspection, shipping, and expiry management all work”.

In the end, deciding the receiving side’s specification before choosing label-design software is the shortcut.

8. Summary

With barcode standards like GS1, what matters first is thinking about the number, the attributes, the symbol, and the post-scan processing separately.

  • The GTIN is the key that identifies the product
  • AIs are the meaning and format of the data
  • GS1-128 / GS1 DataMatrix / GS1 QR Code are means of representation
  • Implementation includes quality, placement, FNC1, scanner output, and product master operations

Design with these separated, and barcodes go from “something you can merely print” to a business interface you can share with trading partners and the field.

Keep them mixed together as you proceed, and the barcodes will scan — while inventory, inspection, and traceability quietly break.

When adopting GS1, the practical starting point is not which code to put on the product, but who reads what, and in which system it is used for what.

9. References

Recent articles sharing the same tags. Deepen your understanding with closely related topics.

These topic pages place the article in a broader service and decision context.

Author Profile

Profile page for the article author.

Go Komura

Representative of KomuraSoft LLC

Focused on Windows software development, technical consulting, and investigations into failures that are difficult to reproduce.

Back to the Blog