Skip to content
barcoder

Standards/gs1-databar-stacked

GS1 DataBar Stacked

TypeStacked
Completeness84%high

Overview

GS1 DataBar Stacked Omnidirectional is the two-row, full-height member of the gs1-databar family. It takes a single-row DataBar Omnidirectional symbol and splits it into a top and bottom row joined by a separator pattern, producing a near-square footprint that is small enough for a produce PLU sticker yet still readable by omnidirectional point-of-sale scanners [1, 2]. It is the DataBar variant of choice for loose fresh produce.

For family history, RSS lineage, and positioning against ean-13 / upc-a, see the base entry gs1-databar. This page focuses on what makes the Stacked Omnidirectional form distinct: the two-row geometry and its POS-omnidirectional capability. (Note: a separate shorter "DataBar Stacked" exists that is not omnidirectional and not POS-approved — see Comparison.)

History

The variant began as RSS-14 Stacked Omnidirectional under AIM's original Reduced Space Symbology specification, renamed when GS1 adopted and rebranded the DataBar family in 2007 [3]. It is standardised in ISO/IEC 24724 (current edition 2011) [4]. Its principal driver was fresh-produce labelling: individual fruits and vegetables need an item-level GS1 identifier on a sticker too small for ean-13 / upc-a, yet the symbol still has to clear the high-throughput omnidirectional slot scanners at supermarket checkout [2].

Technical specification

Two-row split structure [1]:

  • The symbol is a full-height DataBar Omnidirectional split into two rows with a separator pattern between them. The top row carries the left half of the underlying single-row symbol; the bottom row carries the right half.
  • Row height: each row at least 33 modules (33X) high; separator pattern at least 3 modules (3X) high — these minimums are what preserve omnidirectional readability [1].
  • Error detection uses check digits embedded in the finder patterns via a modulo 79 algorithm [1].

Data encoded [1, 2]:

  • A 14-digit numeric data stream — i.e. a GTIN. It accepts GTIN-8, GTIN-12, GTIN-13, and GTIN-14, left-padded with leading zeros to 14 digits, and also supports the Global Coupon Number (GCN).
  • No Application Identifiers beyond the GTIN/GCN itself — for weight, expiry, lot, or coupon attributes you need gs1-databar-expanded.
  • Character set is numeric digits 0–9 only [1].

POS omnidirectional capability [1, 2]:

  • Unlike the compact non-omni variants, Stacked Omnidirectional is designed for and approved for retail POS and is readable at any orientation by slot/bioptic scanners — the practical requirement for grocery checkout, where the cashier cannot align a produce sticker.

Use cases

  • Loose fresh produce — the headline use: bananas, apples, citrus and other items too small for upc-a get a PLU sticker carrying a Stacked Omnidirectional symbol plus the human-readable 4-/5-digit PLU code [2].
  • Small retail packages that still pass through omnidirectional POS but lack room for ean-13 / upc-a [1, 2].
  • Cosmetics, small consumer goods, and small healthcare items where the product face is too small for a full-size linear GTIN symbol and front-of-store omnidirectional scanning is still required (general DataBar produce/small-item niche — see gs1-databar).

Implementations

  • C / C++zint/zint — ~771★, active 2026. libzint generates the GS1 DataBar Stacked variants (public-domain symbology) [5].
  • Java + portszxing/zxing — ~34 000★, active 2025. Decodes the DataBar family.
  • Label software — Seagull BarTender, Neodynamic, Cognex/Scandit symbology stacks document and generate Stacked Omnidirectional, including CC-A / CC-B composite forms [1].
  • POS hardware — every post-~2010 omnidirectional slot/bioptic scanner (NCR, Datalogic, Honeywell, Zebra) reads it natively (see gs1-databar).

Comparison

vs. DataBar Omnidirectional (single row) — identical data (14-digit GTIN) and both POS-omnidirectional; Stacked Omnidirectional trades width for a two-row, near-square footprint for small/round items like produce [1, 2].

vs. the non-omni "DataBar Stacked" / Truncated — confusingly, a shorter DataBar Stacked (and DataBar Truncated) also exists; those are NOT omnidirectional and NOT approved for POS — only Stacked Omnidirectional clears retail checkout [6]. The distinguishing feature here is the full-height rows (33X) that the truncated forms drop.

vs. gs1-databar-limited — Limited is a single-row compact GTIN symbol restricted to indicator digit 0/1 and is not omnidirectional / not POS-approved (handheld use). Stacked Omnidirectional has no indicator-digit restriction and is POS-omnidirectional [6].

vs. gs1-databar-expanded — Expanded carries the full GS1 Application Identifier chain (weight, expiry, coupon data); Stacked Omnidirectional is GTIN-only. Choose Expanded when attributes are needed [2].

vs. ean-13 / upc-a — Stacked Omnidirectional fits where EAN-13/UPC-A physically cannot (produce stickers) while remaining POS-omnidirectional; EAN/UPC keep the general-packaging base.

Fun facts

Billions of produce PLU stickers print every year, and the omnidirectional two-row DataBar is what lets a banana sticker ring up correctly at a slot scanner without the cashier ever orienting it — the variant's entire reason for being is that geometry constraint [2].

The "stacked" name is overloaded: only Stacked Omnidirectional is POS-grade. The plain "DataBar Stacked" sharing the name is a shorter, non-POS cousin — a frequent source of integration confusion [6].

Status

Active. Standardised in ISO/IEC 24724:2011, public domain, supported by all post-2012 omnidirectional POS scanners [4]. The dominant fresh-produce item-level symbol; continues to grow as produce-labeller equipment ships with DataBar generation by default. GS1's wider 2D migration roadmap (see gs1-databar) is the only long-term headwind; no deprecation is planned [2].

Sources

  1. GS1 DataBar Stacked Omnidirectional — Seagull Scientific Barcode Guide
  2. What is a GS1 DataBar? — GS1 US
  3. GS1 DataBar — Wikipedia
  4. ISO/IEC 24724:2011 — GS1 DataBar symbology specification — ISO
  5. zint/zint — GitHub
  6. GS1 DataBar Barcode FAQ & Tutorial — BarcodeFAQ.com

Deployments

No country reports mention this standard by name.

Regions / aggregations not mapped to a single country

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