Skip to content
barcoder

Standards/gs1-databar-expanded

GS1 DataBar Expanded

TypeStacked/1D
Completeness85%high

Overview

GS1 DataBar Expanded is the high-capacity, variable-length member of the gs1-databar family. Unlike the fixed-format GTIN-only DataBar variants, Expanded encodes a GTIN (or Global Coupon Number) plus an arbitrary chain of GS1 Application Identifiers — sell-by date, net weight, lot/batch number, expiration date, serial number, and so on — formatted exactly as they would be for a code-128 / GS1-128 symbol [1, 2]. It is the DataBar variant that makes the family useful for variable-measure retail and coupons rather than just compact GTIN marking.

For the family history, RSS lineage, and overall positioning against ean-13 / upc-a, see the base entry gs1-databar. This page focuses on what distinguishes Expanded and its multi-row sibling Expanded Stacked.

History

GS1 DataBar Expanded began as RSS Expanded under the original AIM Reduced Space Symbology specification, renamed to GS1 DataBar Expanded when GS1 adopted and rebranded the family in 2007 [3]. It is standardised in ISO/IEC 24724 (current edition 2011) alongside the other DataBar variants [4].

The variant's defining milestone is the US retail coupon mandate: GS1 DataBar Expanded Stacked became the US industry standard coupon barcode, with an interim transition from 2007, the stand-alone phase from 2011, and a hard cut-over on 30 June 2015 [3]. See gs1-databar for the full coupon-migration timeline.

Technical specification

Variable-length, triplet-based structure [1]:

  • The symbol is built from one to eleven "triplet" sequences, each consisting of a finder pattern followed by two symbol characters (the final triplet may carry a single character for odd character counts).
  • Each data character is 17 modules wide (four bars, four spaces); each finder pattern is 15 modules wide [1].
  • Because the length varies with the encoded data, the full symbol ranges from 53 to 543 modules wide [1, 5].
  • Error detection uses a modulo 211 (mod 211) check character [1].
  • Left and right guard patterns bound the symbol; despite being part of a family that splits into omni/non-omni variants, single-row Expanded can be read omnidirectionally when printed at full height [1].

Data capacity [2, 5, 6]:

  • Up to 74 numeric digits, or
  • Up to 41 alphanumeric characters, in a single row.

Character set [1]: numerals, upper- and lower-case letters, the FNC1 function character (the GS1 AI delimiter), plus punctuation and spaces.

GS1-128 data equivalence [1, 2]: the data stream encoded into Expanded must be a valid GS1 Application Identifier element string — formatted identically to what would go into a GS1-128 symbol. This is the structural property that lets Expanded carry (01) GTIN, (310n) net weight, (15) best-before, (17) expiry, (21) serial, etc. It also supports GCN (Global Coupon Number) and SSCC-18 structures [1].

Expanded Stacked [2, 6]:

  • Same data capacity and AI semantics as single-row Expanded, but the symbol is broken into up to 11 stacked rows to fit a narrower footprint.
  • This is the form used for US retail coupons, where multiple AIs (manufacturer prefix, offer code, expiry, serial, household ID) must fit on a small coupon face.

Use cases

  • Variable-measure retail — deli, butcher, fish counter, and catch-weight protein: an in-store scale prints an Expanded symbol carrying GTIN + net weight + price, read at standard POS without manual entry [2].
  • US retail couponsExpanded Stacked is the canonical US coupon barcode since 30 June 2015, carrying the full multi-AI coupon payload [3].
  • Fresh food with attributes — where a label must carry a best-before or lot number in addition to the GTIN, which the GTIN-only DataBar variants cannot do [2].
  • Small-package multi-AI marking generally, anywhere code-128 / GS1-128 is too wide but the data is richer than a bare GTIN [2].

Implementations

  • C / C++zint/zint — ~771★, active 2026. libzint encodes GS1 DataBar Expanded and Expanded Stacked (public-domain symbology, BSD-licensed library) [7].
  • Java + portszxing/zxing — ~34 000★, active 2025. Decodes the DataBar family including Expanded.
  • Reporting / label software — Seagull BarTender, Neodynamic, Cognex symbology stacks document and generate Expanded and Expanded Stacked, including CC-A / CC-B 2D composite variants [1, 5].
  • In-store scales — Mettler Toledo, Bizerba, Avery Berkel, Digi generate Expanded for variable-measure pricing (see gs1-databar).

Comparison

vs. other gs1-databar variants — Expanded is the only DataBar variant that carries Application Identifiers beyond the GTIN; Omnidirectional, Stacked Omnidirectional, Truncated, Stacked, and gs1-databar-limited all encode a fixed 14-digit GTIN only [2, 6]. Expanded is variable-length (53–543 modules); the GTIN-only variants are fixed-width.

Expanded vs. Expanded Stacked — identical capacity and AI semantics; Stacked trades horizontal width for up to 11 rows of vertical space. Single-row Expanded suits wide labels; Expanded Stacked suits coupons and narrow faces [2, 6].

vs. gs1-databar-stacked (Stacked Omnidirectional) — Stacked Omnidirectional is a compact two-row GTIN-only POS symbol; it cannot carry weight, expiry, or coupon AIs. Use Expanded when attributes are required [6].

vs. code-128 / GS1-128 — Expanded encodes the same AI element strings as GS1-128 but in a smaller, POS-readable footprint. GS1-128 dominates shipping/outer-pack; Expanded dominates retail variable-measure and coupons.

vs. ean-13 / upc-a — EAN/UPC encode only a GTIN with no attributes; Expanded adds the full AI chain in comparable or smaller space. EAN/UPC retain the general-packaging installed base.

vs. data-matrix (GS1 DataMatrix) — the 2D alternative carries more data in less area but needs an imager; Expanded keeps the data 1D-laser-readable. Both coexist under GS1's 2D migration roadmap.

Fun facts

The deli-counter "weigh, label, scan, charge" loop runs on Expanded: a single symbol carries GTIN, weight and price so the front-of-store POS rings up a variable price with no keystrokes — the operational reason Expanded exists [2].

Despite "Expanded Stacked" being limited to 11 rows, the same AI payload that fills a wide single-row Expanded compresses into that block — which is why a tiny manufacturer coupon can still carry a household identifier, offer code, expiry and serial all at once [2, 6].

Status

Active. Standardised in ISO/IEC 24724:2011, public domain, universally supported by post-2012 POS scanners [4]. Expanded Stacked is the entrenched US coupon barcode; single-row Expanded is entrenched in variable-measure retail. GS1's broader 2D migration roadmap (see gs1-databar) may slow new adoption, but no deprecation is planned [2].

Sources

  1. GS1 DataBar Expanded — Seagull Scientific Barcode Guide
  2. How much data can GS1 DataBar Expanded encode? — GS1 GO Customer Service
  3. GS1 DataBar — Wikipedia
  4. ISO/IEC 24724:2011 — GS1 DataBar symbology specification — ISO
  5. GS1 DataBar Expanded CC-A/CC-B Composite — Neodynamic
  6. GS1 DataBar barcodes — GS1
  7. zint/zint — GitHub

Deployments

No country reports mention this standard by name.

Regions / aggregations not mapped to a single country

  • Universal
source · docs/standards/gs1-databar-expanded/index.md