What is a GS1-128 Composite barcode?
GS1-128 Composite stacks a 2D Composite Component on top of a GS1-128 barcode. The linear part works like any GS1-128, for example with an SSCC or a GTIN, and the 2D part adds more Application Identifiers, such as a batch, count or production details, without making the label wider.
It is the only GS1 composite that can use CC-C, the largest composite component, which is based on PDF417 and can hold much more data than the CC-A and CC-B components used with EAN, UPC and DataBar. That makes it a fit for carton and pallet labels where a single GS1-128 would become too long.
What data can GS1-128 Composite hold?
GS1 Application Identifiers for the linear part, then a | character, then more GS1 Application Identifiers for the 2D part, for example (00)030123456789012340|(02)13012345678909(37)24(10)1234567ABCDEFG.
Recommended size
Size the GS1-128 part as you would for warehouse scanning and keep its quiet zones clear. The 2D part above it uses the same module width and needs an imaging scanner, so test with the scanners your partners use.
How to Create a Barcode in 3 Steps
Choose a barcode type
Select a category on the left (e.g. Linear Codes), then the exact type like Code-128.
Enter data & customise
Type your data — we check it live and add check digits. Adjust size, font and colors.
Download or print
Get PNG, JPG, SVG, PDF or EPS, or print a full sheet of labels in one click.
Why Use QRCodeChamp Barcode Generator
125+ barcode types
Linear, 2D, GS1, postal, healthcare and payment codes.
Live validation
Friendly errors with one-click fixes and automatic check digits.
Print-ready PDF
Exact mm sizes, label sheets (Avery, A4, 4×6 thermal).
Bulk barcodes
Paste a list or generate number sequences.
Choose the Type of Barcode You Need
Not sure which barcode to use? Start with what you need it for — we’ll pick the right type.
Frequently Asked Questions
A single GS1-128 has a maximum length and width. The composite keeps the linear part short and puts the extra data in a compact 2D block.
A laser scanner reads the GS1-128 part. Reading the 2D part generally needs an imaging scanner.
Yes. Both sides of the | must be GS1 element strings in bracket format, like (00)… or (10)….
