A GS1 Composite barcode stacks two symbols into one. The linear component carries the item's primary identification, usually the GTIN, so any scanner can still read it. The 2D Composite Component above it carries supplementary data such as a batch number and expiration date.
- Linear component: EAN-13, EAN-8, UPC-A or UPC-E, any member of the GS1 DataBar family, or GS1-128.
- Separator pattern: a thin pattern, at least 1 module high (6 modules with EAN/UPC), between the two parts.
- 2D Composite Component: CC-A, CC-B or CC-C, built on MicroPDF417 or PDF417 and sized to match the linear part.
The two parts are linked. A linkage flag in the 2D component tells the reader to send no data unless the linear component is decoded too, so a scan never returns batch or expiry data without its GTIN. The reader then sends both parts as one string, with the 2D data appended to the linear data.