Standards/gs1-composite
GS1 Composite
Overview
GS1 Composite symbology is a specialized barcode format that combines a linear (1D) component with a multi-row two-dimensional (2D) component into a single integrated symbol, enabling high data capacity in a small footprint 1. The linear component carries the primary product identification so it remains readable by all scanning technologies, while the stacked 2D component above it carries supplementary GS1-formatted data for compatibility with linear and 2D imagers and with linear and rastering laser scanners 4. It is defined by ISO/IEC 24723:2010 2. There are three composite-component variants: CC-A, CC-B, and CC-C 1.
History
GS1 Composite symbology was developed to extend existing linear GS1 barcodes (such as EAN/UPC and the GS1 DataBar family) with a 2D layer for additional structured data, while preserving backward-compatible scanning of the primary identifier through the linear component 4. The symbology was standardized internationally as ISO/IEC 24723, with the current edition being ISO/IEC 24723:2010, which specifies the symbology characteristics, data-character encodation, symbol formats, dimensions, print-quality requirements, error-correction rules, and reference decoding algorithms 2.
Technical specification
A GS1 Composite symbol always consists of a primary linear component beneath a 2D component, the two joined by a separator pattern 5. The permitted linear components are EAN-13, EAN-8, UPC-A, UPC-E, GS1-128, and any member of the GS1 DataBar family — Omnidirectional, Stacked Omnidirectional, Expanded, Expanded Stacked, Truncated, Stacked, and Limited 5.
The three composite-component (CC) variants differ in their 2D layer 15:
- CC-A — a space-saving variant of MicroPDF417 used as the 2D component, paired with an EAN/UPC or GS1 DataBar linear component. It encodes up to about 56 numeric characters (fewer if alphanumeric/punctuation data is used) and is widely used in retail 13.
- CC-B — a full MicroPDF417 2D component, paired with EAN/UPC, GS1 DataBar, or GS1-128 linear components. It encodes up to about 338 alphanumeric characters and is common in healthcare/pharmaceutical labeling 1.
- CC-C — a PDF417 2D component, used only with a GS1-128 linear component (GS1-128 Composite). It offers the largest capacity, approximately 800 characters 13.
Encoders select the variant automatically by data size: CC-A is chosen first if the data fits, otherwise CC-B; for GS1-128 Composite a CC-C component is used when the data exceeds CC-A/CC-B capacity 5. The supplementary data follows the GS1 Application Identifier (AI) format, and FNC1 characters that delimit AIs are inserted automatically by the encoder where required rather than being supplied manually 5.
Use cases
GS1 Composite symbols are used where a primary GTIN-bearing linear code must carry additional supply-chain data in the same label space 6. In healthcare and pharmaceuticals they encode batch/lot numbers and expiration dates alongside the product identifier to support traceability, patient safety, and regulatory compliance 6. In fresh food and variable-measure retail they carry weight, expiry date, and lot information 6. They are also used for coupons and loyalty-program tracking, and for general food traceability and logistics where end-to-end product tracking and data compliance are required 6.
Implementations
- Zint (github.com/zint/zint) — C; open-source library that explicitly supports "GS1 Composite (EAN/UPC/DataBar/GS1-128)" as well as PDF417 and MicroPDF417; ~771 stars; actively maintained 7.
- BWIPP (Barcode Writer in Pure PostScript) (github.com/bwipp/postscriptbarcode) — PostScript; provides a GS1 Composite Symbols module with automatic CC-A/CC-B/CC-C selection and automatic FNC1 insertion 5.
Comparison
Against a plain linear barcode, a GS1 Composite symbol adds a 2D component that multiplies data capacity (from a single GTIN up to hundreds of characters for CC-C) without sacrificing the broad scanner compatibility of the linear primary 14. Within the family, CC-A (MicroPDF417-based, ~56 numeric) is the most compact, CC-B (full MicroPDF417, ~338 alphanumeric) is the mid-tier, and CC-C (PDF417-based, ~800 characters, GS1-128 only) is the highest capacity 13. Some vendors now recommend single-symbol alternatives — GS1 DataBar Expanded, GS1 Data Matrix, or GS1 QR Code — over composite data in many new deployments 3.
Status
GS1 Composite symbology is an active ISO/IEC standard (ISO/IEC 24723:2010) and remains in production use across healthcare, fresh food, coupons, and logistics 26. At the same time, some implementers are migrating toward single 2D GS1 symbols (GS1 Data Matrix / GS1 QR Code) for new applications 3.
Sources
- GS1 Composite Codes — Scandit
- ISO/IEC 24723:2010 — GS1 Composite bar code symbology specification — ISO, 2010
- GS1 DataBar Composite Barcode FAQ — BarcodeFAQ.com / IDAutomation
- Scan composite codes — Scandit Docs
- GS1 Composite Symbols — BWIPP wiki
- GS1 Composite Codes — CYBRA
- zint/zint — GitHub, accessed 2026
Deployments
No country reports mention this standard by name.
Regions / aggregations not mapped to a single country
- Universal