# GS1 DataBar Stacked

> Source: https://docs.barcoder.ai/docs/standards/gs1-databar-stacked
> research date 2026-06-04 · extracted at 2026-10-03
> Publisher: Barcoder — encyclopedia of QR, barcode and payment-code standards

Specifications:
- [ISO/IEC 24724:2011 — GS1 DataBar bar code symbology specification](https://www.iso.org/standard/51426.html)
- [GS1 DataBar barcodes — GS1](https://www.gs1.org/standards/barcodes/databar)

## Overview

**GS1 DataBar Stacked Omnidirectional** is the **two-row, full-height** member of the [GS1 DataBar](https://docs.barcoder.ai/docs/standards/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** <sup>[1][1], [2][2]</sup>. It is the DataBar variant of choice for loose fresh produce.

For family history, RSS lineage, and positioning against [EAN-13](https://docs.barcoder.ai/docs/standards/ean-13) / [UPC-A](https://docs.barcoder.ai/docs/standards/upc-a), see the base entry [GS1 DataBar](https://docs.barcoder.ai/docs/standards/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 <sup>[3][3]</sup>. It is standardised in **ISO/IEC 24724** (current edition 2011) <sup>[4][4]</sup>. 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](https://docs.barcoder.ai/docs/standards/ean-13) / [UPC-A](https://docs.barcoder.ai/docs/standards/upc-a), yet the symbol still has to clear the high-throughput omnidirectional slot scanners at supermarket checkout <sup>[2][2]</sup>.

## Technical specification

**Two-row split structure** <sup>[1][1]</sup>:

- 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 <sup>[1][1]</sup>.
- Error detection uses **check digits embedded in the finder patterns via a modulo 79 algorithm** <sup>[1][1]</sup>.

**Data encoded** <sup>[1][1], [2][2]</sup>:

- 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](https://docs.barcoder.ai/docs/standards/gs1-databar-expanded).
- Character set is numeric digits 0–9 only <sup>[1][1]</sup>.

**POS omnidirectional capability** <sup>[1][1], [2][2]</sup>:

- 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](https://docs.barcoder.ai/docs/standards/upc-a) get a PLU sticker carrying a Stacked Omnidirectional symbol plus the human-readable 4-/5-digit PLU code <sup>[2][2]</sup>.
- **Small retail packages** that still pass through omnidirectional POS but lack room for [EAN-13](https://docs.barcoder.ai/docs/standards/ean-13) / [UPC-A](https://docs.barcoder.ai/docs/standards/upc-a) <sup>[1][1], [2][2]</sup>.
- **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](https://docs.barcoder.ai/docs/standards/gs1-databar)).

## Implementations

- **C / C++** — [zint/zint][zint] — ~771★, active 2026. `libzint` generates the GS1 DataBar Stacked variants (public-domain symbology) <sup>[5][5]</sup>.
- **Java + ports** — [zxing/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 <sup>[1][1]</sup>.
- **POS hardware** — every post-~2010 omnidirectional slot/bioptic scanner (NCR, Datalogic, Honeywell, Zebra) reads it natively (see [GS1 DataBar](https://docs.barcoder.ai/docs/standards/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 <sup>[1][1], [2][2]</sup>.

**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 <sup>[6][6]</sup>. The distinguishing feature here is the full-height rows (33X) that the truncated forms drop.

**vs. [GS1 DataBar Limited](https://docs.barcoder.ai/docs/standards/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 <sup>[6][6]</sup>.

**vs. [GS1 DataBar Expanded](https://docs.barcoder.ai/docs/standards/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 <sup>[2][2]</sup>.

**vs. [EAN-13](https://docs.barcoder.ai/docs/standards/ean-13) / [UPC-A](https://docs.barcoder.ai/docs/standards/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 <sup>[2][2]</sup>.

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 <sup>[6][6]</sup>.

## Status

**Active.** Standardised in ISO/IEC 24724:2011, public domain, supported by all post-2012 omnidirectional POS scanners <sup>[4][4]</sup>. 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](https://docs.barcoder.ai/docs/standards/gs1-databar)) is the only long-term headwind; no deprecation is planned <sup>[2][2]</sup>.

## Sources

[1]: https://barcodeguide.seagullscientific.com/Content/Symbologies/DataBar_OmniStacked.htm
[2]: https://www.gs1us.org/upcs-barcodes-prefixes/what-is-a-gs1-databar
[3]: https://en.wikipedia.org/wiki/GS1_DataBar
[4]: https://www.iso.org/standard/51426.html
[5]: https://github.com/zint/zint
[6]: https://www.barcodefaq.com/1d/gs1-databar/
[zint]: https://github.com/zint/zint
[zxing]: https://github.com/zxing/zxing

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

## Deployments

_No country reports mention this standard by name._

## Regions / aggregations not mapped to a single country

- Universal
