Standards/gs1-databar-stacked
GS1 DataBar Stacked
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.
- 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.
libzintgenerates the GS1 DataBar Stacked variants (public-domain symbology) 5. - Java + ports — zxing/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
- GS1 DataBar Stacked Omnidirectional — Seagull Scientific Barcode Guide
- What is a GS1 DataBar? — GS1 US
- GS1 DataBar — Wikipedia
- ISO/IEC 24724:2011 — GS1 DataBar symbology specification — ISO
- zint/zint — GitHub
- 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