GS1 Barcode Standards: The Basics and Operational Pitfalls
· Updated: · Go Komura · GS1, Barcode, GTIN, GS1-128, GS1 DataMatrix, Inventory Management
Revision history (1 updates, last updated Sep 1, 2026)
A log of the changes made to this article. Where a pre-update version was archived, it stays readable at a permanent DOI link.
- Retranslated as a full translation of the Japanese original. The previous English version was an abridgement that carried only part of the source, so sections, tables, Mermaid diagrams, figure captions and FAQ entries were missing. All of them have been restored to match the Japanese original, and the technical claims are the same as in the Japanese version. Read the version before this update (DOI: 10.5281/zenodo.21614621)
- First published
Cite this article(DOI: 10.5281/zenodo.21614620)
This article is archived on Zenodo. Below are both the DOI that always resolves to the latest version and the DOI pinned to the version you are reading.
Go Komura (2026). GS1 Barcode Standards: The Basics and Operational Pitfalls. KomuraSoft LLC. https://doi.org/10.5281/zenodo.21614620 https://comcomponent.com/en/blog/2026/04/16/000-gs1-barcode-standards-practical-guide/
- DOI (latest version)
- 10.5281/zenodo.21614620
- DOI (this version)
- 10.5281/zenodo.22220454
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 belonged to 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
- The Conclusion First
- The Layers Standardized by GS1
- The Use Cases to Separate First in Practice
- Representative Rules Defined by GS1
- Points Where Real Operations Get Stuck
- Examples with Strong Regulatory or Industry Requirements
- The Order in Which to Roll Out
- Summary
- References
Knowledge map for this article
This article is a practical guide that lays out how the GS1 barcode standards are contracts at separate layers: identification codes, attribute data, data carriers, and post-scan processing. A GTIN identifies a trade item, and wherever lot numbers, expiration dates, and serial numbers also have to be carried it requires attributes added through GS1 Application Identifiers (AIs); together with SSCC and GLN it makes up the identification keys for logistics and traceability. GS1-128, GS1 DataMatrix, and GS1 QR Code are the GS1 subsets of Code 128, Data Matrix, and the QR Code respectively, and they only work correctly once they follow the representation and quality rules for FNC1 and AI syntax, the symbology identifier, HRI, the quiet zone, and the X-dimension. Operational constraints have to be designed in as well: in Japan a GTIN that has been used once cannot in principle be reused, and the retail migration to 2D also assumes for the time being that a linear barcode is printed alongside.
flowchart LR
accTitle: GS1 barcode standards
accDescr: Diagram showing how the GS1 standards tie together the identification keys GTIN, GS1 Application Identifiers, SSCC, and GLN, the data carriers GS1-128, GS1 DataMatrix, and GS1 QR Code, and the representation and quality rules of FNC1, the symbology identifier, HRI, the quiet zone, and the X-dimension, along with operational constraints such as the prohibition on GTIN reuse and the retail migration to 2D
gs1_standard["GS1 Standards (Mod-10 Check Digit)"]
gtin["GTIN (Global Trade Item Number)"]
gs1_ai["GS1 Application Identifier (AI)"]
sscc["SSCC (Serial Shipping Container Code)"]
gln["GLN (Global Location Number)"]
gs1_128["GS1-128"]
code128["Code 128"]
gs1_datamatrix["GS1 DataMatrix"]
data_matrix_symbol["Data Matrix"]
gs1_qrcode["GS1 QR Code"]
qr_code["QR Code"]
fnc1["FNC1 (Function 1)"]
symbology_identifier["Symbology Identifier"]
hri["HRI (Human Readable Interpretation)"]
quiet_zone_barcode["Quiet Zone (Barcode)"]
x_dimension_barcode["X-Dimension (Barcode)"]
ean_upc["EAN/UPC (JAN Symbol)"]
asn["ASN (Advanced Shipping Notice)"]
gtin_reuse_prohibition["GTIN Reuse Prohibition"]
gs1_general_specifications["GS1 General Specifications"]
gs1_2d_migration["Retail Migration to 2D Barcodes"]
gs1_standard -->|"uses"| gtin
gs1_standard -->|"uses"| gs1_ai
gs1_standard -->|"uses"| sscc
gs1_standard -->|"uses"| gln
gtin -.->|"requires"| gs1_ai
gs1_128 -->|"uses"| code128
gs1_datamatrix -->|"uses"| data_matrix_symbol
gs1_qrcode -->|"uses"| qr_code
gs1_128 -->|"uses"| fnc1
gs1_standard -.->|"uses"| symbology_identifier
gs1_standard -->|"uses"| hri
gs1_standard -->|"uses"| quiet_zone_barcode
gs1_standard -->|"uses"| x_dimension_barcode
ean_upc -->|"requires"| gtin
gs1_128 -->|"uses"| gs1_ai
gs1_datamatrix -->|"uses"| gs1_ai
gs1_qrcode -->|"uses"| gs1_ai
asn -.->|"uses"| sscc
gtin -.->|"requires"| gtin_reuse_prohibition
gs1_general_specifications -->|"implements"| gs1_standard
gs1_2d_migration -.->|"requires"| ean_upc
gs1_2d_migration -.->|"uses"| gs1_datamatrix
gs1_2d_migration -.->|"uses"| gs1_qrcode
In the diagram a solid line marks a relation that always holds and a dashed line marks a conditional one (the conditions are given per relation on the detail page). The full list of relations (23 in total, with evidence and certainty) and the definitions of the main concepts are collected on the knowledge map detail page (in Japanese). Data: JSON-LD / Turtle
1. The Conclusion First
In practical GS1 work, these are the five points to grasp first.
-
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
-
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
-
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
-
In production, things break on the receiving side rather than in the printing itself. 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
-
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.
The chapters that follow use quite a few GS1 abbreviations. Getting these straight up front makes the rest easier to read.
| Abbreviation / term | Full name | What it refers to |
|---|---|---|
| GTIN | Global Trade Item Number | The number that identifies a product. Japan’s JAN code is a kind of GTIN |
| AI | Application Identifier | A 2- to 4-digit number that determines the meaning and format of the data that follows it |
| SSCC | Serial Shipping Container Code | A number that identifies each individual logistics unit, such as a pallet or a case |
| GLN | Global Location Number | A number that identifies a place, such as a company, a site, or a ship-to location |
| FNC1 | The Function 1 character provided by Code 128 and other symbologies | A control character used in GS1 standard barcodes. It declares that the content is GS1 data, and it separates variable-length data |
| HRI | Human Readable Interpretation | The characters printed next to the barcode in a form people can read. Parenthesized notation such as (01) belongs here |
| ASN | Advanced Shipping Notice | Data about the contents of a shipment that the shipper sends to the receiver in advance. Combined with the SSCC, it simplifies goods-receipt inspection |
| X-dimension | X-dimension | The width of the single narrowest bar in a barcode. It directly determines read distance and read rate |
| Quiet zone | quiet zone | The margin required at both ends of the symbol. Squeeze it and the symbol stops scanning |
2. The Layers Standardized by GS1
2.1 Identification Codes
GS1 starts with identification keys that answer “what are we identifying”.
The representative key for identifying products is the GTIN. GTINs come as GTIN-8 / 12 / 13 / 14, and in Japan GTIN-13 and GTIN-8 are widely used as JAN codes. GTIN-13 is used for individual items and 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, a case, or another package, 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 this is; it does not double as a lot number or an expiration date. 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 several data elements are packed into a single barcode, the receiving side is far less likely to misread 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 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 the GS1 subset of Data Matrix, and GS1 QR Code is the GS1 subset of QR Code. They use FNC1 to signal 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 situations 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 than to design it 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 so that tracking works 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 whether the number can stay the same 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 that affects the supply chain, such as shipping, storage, or receiving
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 e-commerce, ordering, inventory, and master-data integration later.
Of the 10 criteria, here are three that people in the field most often get inconsistent about.10
- A change in net content that comes with a change to the product labeling. For example, going from 500 g to 480 g
- A change of more than 20% in the outer dimensions or the gross weight of the packaging. Even when the contents are identical, a different packaging configuration changes the assumptions on the logistics side
- A change in the count per grouped package. Going from 12 units per case to 10, for instance
Conversely, the case people most often assume does not need a change is a limited-time packaging change for a promotion, or adding a giveaway or a free sample. That also falls on the side of the criteria that require a new GTIN. Even when the contents are the same, the reasoning is that it has to be treated as a different trade unit.
On top of that, in Japan, since 2019 a GTIN that has been used once can, as a rule, not be reused.11
That 2019 date is what GS1 Japan announces for the domestic market.11 When overseas trading partners or global e-commerce are involved, also check how the GS1 member organization in the other country operates, along with the rules on the GS1 General Specifications side. Even where the no-reuse rule itself is the same, the start date and the transitional arrangements are not necessarily identical.
If you do not know this and treat GTINs like an internal code you can recycle once it frees up, you will collide with old product information and with history on e-commerce sites. Including the product master and externally published data, it is safer to treat the GTIN as a key whose meaning persists over the 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
Spelled out as text, it comes down to this. Here is an example that packs the GTIN, the expiration date, and the lot number into a single barcode. The HRI reads:
(01)04912345678904(17)260331(10)ABC123
The lengths are as follows.
| AI | Content | Length |
|---|---|---|
(01) |
GTIN | Pre-defined length (14 digits) |
(17) |
Expiration date YYMMDD | Pre-defined length (6 digits) |
(10) |
Lot / batch number | Variable length (up to 20 characters) |
Because the variable-length (10) sits last, no separator is needed. Read with GS1-128, the scanner output gets a symbology identifier at the front and looks like this. The parentheses disappear.3
]C101049123456789041726033110ABC123
Order the same three elements the other way round, with the lot first and the expiration date second, and the variable-length (10) ends up in the middle. Now the receiving side has to be told where the value of (10) ends, so an FNC1 goes in as a separator. The scanner sends FNC1 through as GS (ASCII 29).
HRI : (01)04912345678904(10)ABC123(17)260331
Scanner output : ]C10104912345678904 10ABC123 <GS> 17260331
(spaces added for readability; in reality it is one continuous string)
So the rule about putting fixed-length elements first is not cosmetic tidiness; it is a design choice that makes parsing one step simpler on the receiving side. The further into the middle you push variable-length elements, the more separators get missed.
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 is 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 it read. So the receiving side has to decide one of the following up front:
- Accept the symbology identifier and branch processing on it
- Suppress or 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 that 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 e-commerce, 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 the 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 in HRI, AIs are usually shown in parentheses, like (01) or (17). That is there to help people tell the meanings apart 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 keep the display string and the machine-processing string separate.
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, the shipping data, and the 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
Here is a simple diagram of how those terms relate to each other.
[ margin ][ ||| | || |||| | || |||| ][ margin ]
(1) (2) (1)
|
+-- (3) width of the single narrowest bar = X-dimension
(01)04912345678904(17)260331(10)ABC123 ... (4)
The four callouts map as follows.
| Callout | Element | What it is | What happens if you touch it |
|---|---|---|---|
| (1) | Quiet zone | The margin at both ends of the symbol | Squeeze it for a layout tweak and the symbol still scans in favorable conditions while read rates drop in the field |
| (2) | Symbol | The arrangement of bars and spaces. The part the machine reads | Enlarge or shrink it and the X-dimension changes with it, which changes read distance and read rate |
| (3) | X-dimension | The width of the single narrowest bar | Make it too small and it stops scanning. Each use case has its own lower bound |
| (4) | HRI | The characters people read | The parentheses are for display. This is not the string the scanner returns, so do not use it as the basis for your input specification |
When the design side comes back with “we want it a bit smaller so it fits here” or “the margin is wasted space, let’s tighten it”, nothing in this diagram is available to cut. If the size has to change, scale the whole thing down proportionally while preserving the X-dimension and the quiet zone, or reconsider the symbology itself.
In real operations, read rates suddenly drop because of 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 tend to go wrong:
- placing a marketing QR code right next to the POS JAN code
- putting linear and 2D symbols too close together
- cramming the expiry or 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 whether they 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, and that which AIs are usable varies with where the scan happens.13
For example, even if the manufacturer wants to encode GTIN plus expiration date plus lot, if the receiving side only uses the GTIN, the value materializes only upstream. Conversely, if the field intends to use the expiration date, then the WMS, stocktaking, and 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, and the direction is to make 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, the 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 this:
-
Decide the business use case POS? Inbound and outbound inspection? Traceability?
-
Decide the identification key GTIN, GTIN-14, or SSCC. Include GLN and others if needed.
-
Decide the required attributes Lot, expiration date, serial, weight, price. Decide them per AI.
-
Decide the symbol Which is natural: EAN/UPC, ITF, GS1-128, GS1 DataMatrix, or GS1 QR Code.
-
Decide the scanner output specification Whether to accept symbology identifiers, how to normalize FNC1, and what to pass to the host.
-
Decide the product master and the change rules Put new GTIN allocation, changes, discontinuation, the no-reuse rule, and history management in writing.
-
Verify printing with the real thing Confirm with the actual label, the actual packaging material, the actual scanner, at the actual distance.
-
Test all the way through the business process Look not at “it scans” but at “stocktaking, inspection, shipping, and expiry management all work”.
Just as important as the order is who owns which step. Proceed without settling that, and steps 5 and 6 end up belonging to nobody. Names differ by organization, but a rough guide looks like this.
| Step | Typical owner | Typical people to bring in |
|---|---|---|
| 1. Decide the business use case | Business unit (logistics, sales, quality) | IT department |
| 2. Decide the identification key | Product master management, merchandising | IT department, trading partners |
| 3. Decide the required attributes | Business unit | Quality assurance, trading partners |
| 4. Decide the symbol | IT department | Package design staff, printing company |
| 5. Decide the scanner output specification | IT department | Device vendor, core systems staff |
| 6. Decide the product master and the change rules | Product master management | IT department, sales, e-commerce staff |
| 7. Verify printing with the real thing | The field (warehouse, manufacturing) | Printing company, IT department |
| 8. Test all the way through the business process | Business unit | IT department, trading partners |
Step 5, the scanner output specification, is the one the business unit almost never asks for. Unless IT proposes it first, it only surfaces as a problem the day the terminals get replaced.
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 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 gets used for what.
9. References
-
GS1 / GS1 Japan, GS1 General Specifications, GS1 Japan public PDF ↩ ↩2 ↩3 ↩4
-
GS1 Japan, What is a GTIN, GTIN usage forms ↩ ↩2 ↩3 ↩4
-
GS1 Japan, GS1 Standard Barcode Basic Guide ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10
-
GS1, GS1 Application Identifiers, GS1 Barcode Syntax Resource User Guide ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7
-
GS1 Japan, The GS1-128 symbol, SSCC (Serial Shipping Container Code) ↩ ↩2 ↩3
-
GS1, 2D Barcodes at Retail Point-of-Sale Implementation Guideline ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9
-
GS1 Support, What 2D barcodes can be read at Point-of-Sale scanners today? ↩ ↩2 ↩3 ↩4 ↩5
-
GS1 / GS1 Japan, GS1 DataMatrix Guideline, GS1 DataMatrix Guideline (Japanese PDF) ↩ ↩2 ↩3
-
Ministry of Health, Labour and Welfare (Japan), On labeling containers of medical devices with identifying codes ↩ ↩2
-
GS1 Japan, The 10 GTIN Management Rules, GTIN Allocation Guideline ↩ ↩2 ↩3
-
GS1 Japan, On the End of GTIN Reuse ↩ ↩2 ↩3
-
GS1, GSCN 16-154 - pre-defined length element strings should appear before variable length element strings ↩
-
GS1, 2D Barcodes at Retail Point-of-Sale Implementation Guideline - common AI support varies by retailer / use case ↩
Related Articles
Recent articles sharing the same tags. Deepen your understanding with closely related topics.
Never Use a QR Code's Decoded Value As-Is — Error Correction Succeeding Does Not Guarantee the Value
QR code error correction is not a mechanism that guarantees the value is correct once correction succeeds. Using sample images and measur...
The Depths of Windows Virtualization (Part 3) — Virtual Machines That Boot in Seconds: Why WSL2, Windows Sandbox, and Containers Are So Light
Why do WSL2 and Windows Sandbox start in seconds and feel so light? This article explains the mechanisms, from dynamic base images and di...
The Depths of Windows Virtualization (Part 2) — Memory Even the Kernel Cannot See: How VBS, HVCI, and Credential Guard Work
On a clean install to compatible hardware, VBS is enabled by default and uses the hypervisor and SLAT to create isolation stronger than t...
The Depths of Windows Virtualization (Part 1) — Where Is Your Windows Actually Running? The Hypervisor and Partitions
When you enable Hyper-V, the host Windows itself runs on top of the hypervisor as the root partition. This article explains the foundatio...
The Win32 Thread Pool API — Concurrency Without Creating Threads, via CreateThreadpoolWork
Are you spawning CreateThread calls all over your native code? This article explains the Win32 thread pool API redesigned in Vista — the ...
Related Topics
These topic pages place the article in a broader service and decision context.
Windows Technical Topics
Topic hub for KomuraSoft LLC's Windows development, investigation, and legacy-asset articles.
Frequently Asked Questions
Common questions about the topic of this article.
- What is the difference between a GTIN and the type of barcode?
- A GTIN is a product identification code, and EAN/UPC, ITF, GS1-128, GS1 DataMatrix, and GS1 QR Code are ways of representing it (data carriers). Mix the two up and the design falls apart. GTINs come in GTIN-8, GTIN-12, GTIN-13, and GTIN-14 forms, and in Japan GTIN-13 and GTIN-8 are widely used as JAN codes. GTIN-13 is used for individual items and the smallest trade unit, GTIN-14 for grouped packaging such as cases and inner packs. A GTIN is the key that says which product this is; it does not double as a lot number or an expiration date.
- What are GS1 Application Identifiers (AIs)?
- They are 2- to 4-digit numbers that determine the meaning and format of the attributes carried in addition to the GTIN. The representative examples are (01) GTIN, (00) SSCC, (10) lot / batch number, (17) expiration date, and (21) serial number. Because AIs exist, you can put several data elements into a single barcode and the receiving side is far less likely to misread their meaning. AIs come in fixed-length and variable-length forms, and when another element follows a variable-length AI, an FNC1 separator is required.
- Is GS1-128 the same thing as Code 128?
- No. GS1-128 is the GS1 subset of Code 128: it uses FNC1 to signal conformance with GS1 rules and arranges the data using AI syntax. In the same way, GS1 DataMatrix is the GS1 subset of Data Matrix and GS1 QR Code is the GS1 subset of QR Code. So being able to generate Code 128 and being able to generate GS1-128 correctly are not the same thing.
- Can a GTIN that has already been used be reused for a different product?
- In Japan, as a rule, a GTIN that has been used once cannot be reused after 2019. If you treat a GTIN like an internal code that can be recycled once it frees up, it will collide with old product information and with history on e-commerce sites. GS1 Japan also publishes the 10 GTIN Management Rules, and changes involving size, net content, packaging configuration, sales unit, or labeling responsibility can require a new GTIN. Including the product master and externally published data, a GTIN should be treated as a key that holds its meaning over the long term.