# GS1 QR Code

> Source: https://docs.barcoder.ai/docs/standards/gs1-qr-code
> research date 2026-05-30 · extracted at 2026-05-30
> Publisher: Barcoder — encyclopedia of QR, barcode and payment-code standards

Specifications:
- [GS1 QR Code — GS1 Standards](https://www.gs1.org/standards/barcodes/qr-code)
- [ISO/IEC 18004:2015 — QR Code bar code symbology specification](https://www.iso.org/standard/62021.html)
- [GS1 Digital Link — GS1 Standards](https://www.gs1.org/standards/gs1-digital-link)

# GS1 QR Code

## Overview

**GS1 QR Code** is an application profile of the [QR Code](https://docs.barcoder.ai/docs/standards/qr-code) symbology, defined and governed by the **GS1 General Specifications** <sup>[1][1]</sup>. It is not a separate symbology: it uses a standard **QR Code (Model 2)** as standardised in **ISO/IEC 18004** <sup>[2][2]</sup>, with the same position-detection patterns, Reed–Solomon error correction, and 40 version sizes as any other QR Code. What distinguishes GS1 QR Code is a single structural rule: a **FNC1 function character placed in the first position** of the encoded data, flagging that the symbol carries **GS1 Application Identifier (AI)** element strings rather than free text <sup>[1][1], [3][3]</sup>.

This is the same mechanism that turns a generic [Code 128](https://docs.barcoder.ai/docs/standards/code-128) symbol into a [GS1-128](https://docs.barcoder.ai/docs/standards/gs1-128) symbol, or a generic [Data Matrix](https://docs.barcoder.ai/docs/standards/data-matrix) symbol into a [GS1 DataMatrix](https://docs.barcoder.ai/docs/standards/gs1-datamatrix) symbol — the leading FNC1 marker plus the GS1 AI data model — here applied to the QR carrier <sup>[1][1]</sup>. Because QR Code is the symbology consumers already scan with any smartphone, GS1 QR Code is the GS1 profile most suited to **consumer-facing retail** applications, and it is the natural partner of **GS1 Digital Link**, the GS1 standard for expressing the same identifiers as a web-resolvable URL <sup>[4][4]</sup>.

GS1 QR Code is a central piece of GS1's **"2D barcodes at retail point of sale"** ("Sunrise") initiative — the global migration that aims to have retail point-of-sale systems able to scan 2D codes (GS1 QR Code and [GS1 DataMatrix](https://docs.barcoder.ai/docs/standards/gs1-datamatrix)) alongside the traditional 1D EAN/UPC barcode, often cited with a target around 2027 <sup>[1][1], [4][4]</sup>.

## History

**Underlying symbology lineage** <sup>[2][2], [qr-code-ref]</sup>: The base symbology, QR Code, was invented in 1994 by Masahiro Hara at Denso Wave and standardised internationally as ISO/IEC 18004 (first edition 2000, current edition 2015). Denso Wave holds the patents but does not enforce them, making QR Code royalty-free worldwide. GS1 QR Code inherits all of that and adds only the GS1 data-formatting conventions on top.

**GS1 profile** <sup>[1][1]</sup>: GS1 (Global Standards One — formed in 2005 by the merger of the Uniform Code Council and EAN International) defines the GS1 QR Code profile within the **GS1 General Specifications**. The profile requires the leading FNC1 marker and constrains the encoded content to the GS1 Application Identifier registry — the same AI registry used by GS1-128, GS1 DataMatrix, and GS1 DataBar. The QR module encoding is unchanged from ISO/IEC 18004; GS1 layers only the data semantics.

**GS1 Digital Link and 2D-at-retail** <sup>[1][1], [4][4], [8][8]</sup>:
- **2018 — GS1 Digital Link** standard released, defining a web-URI structure that embeds GTIN and other AIs so a single QR scan can resolve to product information, authentication, or marketing in addition to being parsed at point of sale.
- **2020s — "2D barcodes at retail point of sale" ("Sunrise 2027")** programme. GS1 coordinates a global migration so retail POS can read 2D codes (GS1 QR Code and GS1 DataMatrix) alongside the legacy 1D barcode. The explicit GS1-US deadline is that retailers **be capable of scanning 2D barcodes at point of sale by 31 December 2027**, while continuing to read EAN/UPC during the transition; manufacturers are asked to add 2D codes alongside 1D codes through 2027 <sup>[8][8]</sup>.
- **Coverage** — by 2025–2026 the Sunrise 2027 programme has running pilots in **48 countries representing 88 % of world GDP**, with major US retailers (**Walmart, Target, Dillard's, Safeway, Kroger**) setting supplier-readiness deadlines tied to or earlier than the Sunrise target <sup>[8][8]</sup>.

## Technical specification

GS1 QR Code is a **structured-data profile of QR Code (Model 2)** <sup>[1][1], [2][2], [3][3]</sup>:

| Parameter | Value |
|---|---|
| Base symbology | QR Code Model 2 (ISO/IEC 18004) |
| Symbology family | 2D matrix |
| Distinguishing feature | **FNC1 in the first data position** |
| Data model | GS1 Application Identifiers (AIs) + element strings, OR a GS1 Digital Link URI |
| Error correction | Reed–Solomon, levels L/M/Q/H (7–30 %) |
| Versions | 40 (sizes 21×21 to 177×177 modules) |
| Field separator | FNC1 (function character) after variable-length AI fields |
| Symbology identifier | `]Q3` (QR Code with leading FNC1 / GS1 mode) |
| Quiet zone | 4 modules on each side |
| Variable length | Yes — capacity varies with version and EC level |

**The FNC1 rule** <sup>[1][1], [3][3]</sup>: A QR Code becomes a GS1 QR Code when the **FNC1** function character is encoded in the first position. Compliant scanners report this as the symbology identifier **`]Q3`**, signalling to the receiving application that the data is GS1-formatted and must be parsed by Application Identifier. (For comparison, GS1-128 uses `]C1` and GS1 DataMatrix uses `]d2` for the same role.)

**Two encoding styles** <sup>[1][1], [4][4]</sup>: GS1 QR Code can carry the GS1 AI data in either of two ways:
1. **Bracketless concatenated AI element strings** with the leading FNC1 — the same payload style as GS1-128 and GS1 DataMatrix, parsed entirely by software.
2. **A GS1 Digital Link URI** — the same identifiers expressed as a web URL (e.g. `https://id.gs1.org/01/09521234543213/...`), which both a POS parser and a consumer phone's web browser can act on. This dual-purpose capability is the main reason QR (rather than DataMatrix) is chosen for consumer-facing retail.

**Application Identifiers (AIs)** <sup>[1][1], [6][6]</sup>: An AI is a numeric prefix (2–4 digits) that defines the meaning and format of the field that follows. The AI registry is shared across all GS1 carriers. Common AIs include:

| AI | Meaning | Format |
|---|---|---|
| **(01)** | GTIN (trade item number, GTIN-14 form) | 14 digits, fixed |
| **(10)** | Batch / lot number | up to 20 alphanumeric, variable |
| **(17)** | Expiration / use-by date | 6 digits YYMMDD, fixed |
| **(21)** | Serial number | up to 20 alphanumeric, variable |
| **(00)** | SSCC — Serial Shipping Container Code | 18 digits, fixed |

**Concatenation and the separator role of FNC1** <sup>[1][1], [3][3], [6][6]</sup>: A single GS1 QR Code can carry multiple AI element strings back-to-back. Fixed-length fields (such as `(01)` GTIN-14 or `(17)` date) need no separator; variable-length fields (such as `(10)` batch or `(21)` serial) must be terminated by an **FNC1** character when another AI follows. FNC1 therefore does double duty: a flag in the first position, and a field delimiter thereafter.

**Worked example** — the playground payload `(01)09521234543213` encodes a single GTIN-14. The parentheses are a **human-readable convention only** — they are not encoded in the symbol; the leading FNC1 and the AI registry tell the parser how to read the field.

## Use cases

GS1 QR Code targets **consumer-facing retail and engagement, where the same symbol must serve both a point-of-sale scanner and a smartphone** <sup>[1][1], [4][4]</sup>:

- **2D barcodes at retail point of sale ("Sunrise 2027")** — GS1 QR Code (alongside [GS1 DataMatrix](https://docs.barcoder.ai/docs/standards/gs1-datamatrix)) lets a retail till read GTIN `(01)` plus batch `(10)` and expiry `(17)` from a single 2D code, enabling automatic shelf-life checks, precise recall, and markdown automation that a plain EAN/UPC cannot support.
- **GS1 Digital Link / consumer engagement** — a GS1 QR Code carrying a Digital Link URI resolves in a phone browser to product provenance, ingredients, instructions, authentication, or promotions, while the same code still functions at checkout.
- **Fresh-food date and recall management** — date and batch AIs in a consumer-scannable code support shelf-life enforcement and targeted recalls.
- **Authentication and anti-counterfeiting** — serialised GS1 QR Codes let brand owners and consumers verify individual items.
- **Coupons and loyalty** — GS1 AIs in QR support standardised digital coupons.

**Why GS1 QR Code is chosen for these contexts** <sup>[1][1], [4][4]</sup>:
- QR is the 2D symbology every consumer smartphone already scans, so it bridges supply-chain data and direct consumer interaction in one symbol.
- The Digital Link option makes one code both machine-parseable (POS) and human-actionable (web).
- It encodes the standardised AI data model that retail and supply-chain systems already understand.
- It is royalty-free, inheriting QR Code's open status.

Because GS1 QR Code is QR Code plus formatting rules, **any QR encoder/decoder can produce or read the modules**; GS1 QR Code support specifically means the library understands AI formatting and leading-FNC1 placement <sup>[7][7]</sup>.

**Open-source libraries with explicit GS1-QR support**:

| Repo | Language | Stars | License | Last release | Notes |
|---|---|---:|---|---|---|
| [zxing/zxing](https://github.com/zxing/zxing) | Java (+ many ports) | 34,000 | Apache-2.0 | active 2025 | The de-facto open-source 1D/2D reader. Decodes QR Code and returns the **`]Q3`** symbology identifier when the leading FNC1 marks GS1 mode, so upstream AI parsers can route accordingly <sup>[7][7]</sup> |
| [metafloor/bwip-js](https://github.com/metafloor/bwip-js) | JavaScript | 2,400 | (MIT incl. OFL fonts) | v4.11.1, 28 May 2026 | Translation of Barcode Writer in Pure PostScript (BWIPP). Ships dedicated **`gs1qrcode`** and **`gs1dlqrcode`** encoder modes for GS1 QR Code (AI input) and GS1 Digital Link QR Code respectively <sup>[9][9]</sup> |
| [zint/zint](https://github.com/zint/zint) | C | 771 | BSD-3 (lib) / GPLv3+ (CLI/GUI) | active 2026 | Comprehensive 50+-symbology generator (`zint --barcode=58` for QR Code) with GS1 mode that automatically inserts FNC1, validates Application Identifiers and supports GS1 Digital Link <sup>[10][10]</sup> |

**Other practical encoders/decoders** (no individual stars cited; per `bwip-js`'s BWIPP heritage):
- **Python** — `segno`, `qrcode`, and `treepoem` (wraps Barcode Writer in Pure PostScript, which has GS1 QR Code AI support).
- **GS1 Digital Link tools** — GS1 and community libraries provide Digital Link URI builders/resolvers that pair with GS1 QR Code generation.
- **Scanners and mobile SDKs** — every commercial 2D imager (Cognex, Datalogic, Honeywell, Zebra) decodes GS1 QR Code; commercial mobile SDKs (Scandit, Scanbot, Dynamsoft) parse AI fields and Digital Link URIs.

**Open standards documentation**:
- [GS1 General Specifications / GS1 QR Code guideline][1] — define the GS1 QR Code profile, the FNC1 rule, and the AI registry.
- [GS1 Digital Link][4] — the web-URI standard that pairs with GS1 QR Code.
- [ISO/IEC 18004:2015][2] — the canonical specification of the underlying QR Code symbology.

## Comparison

**vs. [QR Code](https://docs.barcoder.ai/docs/standards/qr-code) (the base symbology)** — Plain QR Code can encode arbitrary data (URLs, text, payment payloads such as EMVCo QR). GS1 QR Code is a **constrained application of it**: same modules, same EC, but a mandatory leading FNC1 and the strict GS1 AI data model (or a GS1 Digital Link URI). Choose plain QR for arbitrary payloads and the national EMVCo-based payment QR standards; choose GS1 QR Code when the data must be standardised GS1 AI element strings or a GS1 Digital Link.

**vs. [GS1 DataMatrix](https://docs.barcoder.ai/docs/standards/gs1-datamatrix)** — Both are 2D GS1 AI carriers using leading FNC1 and the same AI registry. GS1 DataMatrix (`]d2`) dominates regulated healthcare/pharma serialisation — smallest footprint, established line equipment, 30 % damage tolerance. GS1 QR Code (`]Q3`) is favoured for consumer-facing retail because consumers already scan QR with their phones, and it pairs with GS1 Digital Link to be both POS-parseable and web-resolvable.

**vs. [GS1-128](https://docs.barcoder.ai/docs/standards/gs1-128)** — Both encode the same AI structure with leading FNC1, but GS1-128 is 1D linear for pallets and outer packaging, while GS1 QR Code is 2D for consumer-facing items and engagement.

**vs. [GS1 DataBar](https://docs.barcoder.ai/docs/standards/gs1-databar)** — GS1 DataBar is a compact 1D family carrying GS1 AIs at point of sale (loose produce, coupons). GS1 QR Code carries the same data model in 2D with far higher capacity and the consumer-scannable / Digital Link advantage.

The **parentheses in `(01)`, `(17)`, `(10)` are never encoded in the symbol** <sup>[1][1], [6][6]</sup> — they appear only in human-readable text; the parser reconstructs field boundaries from the AI registry (fixed-length AIs) and FNC1 separators (after variable-length AIs).

**One QR code, two audiences** <sup>[4][4]</sup> — a GS1 QR Code carrying a GS1 Digital Link URI works at the supermarket till (parsed as GS1 AI data) and in a shopper's phone browser (resolved as a web link) from the same scan. This dual role is the headline reason QR was chosen as a retail 2D carrier alongside DataMatrix.

**The same FNC1 idea spans four GS1 carriers** <sup>[1][1]</sup> — GS1-128 (`]C1`), GS1 DataMatrix (`]d2`), GS1 QR Code (`]Q3`), and GS1 DataBar all use a leading FNC1 plus the shared AI registry. Learn the data model once and it transfers across every GS1 symbology.

**A 2027 deadline backed by 88 % of world GDP.** The Sunrise 2027 programme has running pilots in **48 countries representing 88 % of world GDP**, and the GS1-US target is that all retail POS scanners be able to read 2D codes (GS1 QR Code / GS1 DataMatrix) by **31 December 2027** <sup>[8][8]</sup>. Few standards arrive with that scale of pre-committed industrial demand.

**The US grocery aisle is the migration's lead arrow.** Major US retailers — **Walmart, Target, Dillard's, Safeway, Kroger** — have published supplier-readiness deadlines tied to Sunrise 2027, making the supermarket shelf the most aggressive surface on which a single GS1 QR Code must keep working at both an industrial scanner *and* a shopper's phone <sup>[8][8]</sup>.

## Status

**Active and strategically central to GS1's retail roadmap** <sup>[1][1], [4][4]</sup>:

- **GS1 General Specifications** maintain GS1 QR Code as a current, core barcode standard.
- The underlying **ISO/IEC 18004:2015** QR Code spec is current and royalty-free.
- **GS1 Digital Link** (2018) pairs with GS1 QR Code to make one code both machine- and human-actionable.
- The **"2D barcodes at retail point of sale" ("Sunrise")** programme — often cited with a ~2027 horizon — is driving global POS readiness for GS1 QR Code and GS1 DataMatrix.

**Strategic context**:
- GS1 maintains GS1 QR Code in parallel with [GS1-128](https://docs.barcoder.ai/docs/standards/gs1-128), [GS1 DataMatrix](https://docs.barcoder.ai/docs/standards/gs1-datamatrix), and [GS1 DataBar](https://docs.barcoder.ai/docs/standards/gs1-databar); all four carry the same AI data model, and the choice is driven by available space, scanner infrastructure, and whether a consumer-scannable / web-resolvable code is wanted.
- GS1 QR Code is positioned as the **consumer-facing** 2D GS1 carrier, with GS1 DataMatrix the regulated/serialisation carrier.
- No deprecation is planned.

## Sources

[1]: https://www.gs1.org/standards/barcodes/qr-code
[2]: https://www.iso.org/standard/62021.html
[3]: https://en.wikipedia.org/wiki/QR_code
[4]: https://www.gs1.org/standards/gs1-digital-link
[6]: https://www.gs1.org/standards/barcodes/application-identifiers
[7]: https://github.com/zxing/zxing
[8]: https://www.gs1us.org/industries-and-insights/by-topic/sunrise-2027
[9]: https://github.com/metafloor/bwip-js
[10]: https://github.com/zint/zint
[qr-code-ref]: https://docs.barcoder.ai/source/standards/qr-code

1. [GS1 QR Code — GS1 Standards][1]
2. [ISO/IEC 18004:2015 — QR Code specification][2]
3. [QR Code — Wikipedia][3]
4. [GS1 Digital Link — GS1 Standards][4]
6. [GS1 Application Identifiers — GS1][6]
7. [zxing/zxing — GitHub][7]
8. [Sunrise 2027 — GS1 US][8]
9. [metafloor/bwip-js — GitHub][9]
10. [zint/zint — GitHub][10]

## Deployments

_No country reports mention this standard by name._

## Regions / aggregations not mapped to a single country

- Universal

## Deployments

_No country reports mention this standard by name._

## Regions / aggregations not mapped to a single country

- Universal
