What you're using right now
- 100+ barcode & QR symbologies
- Live preview & customization
- PNG & SVG export, no login
- Copy to clipboard
Loading Barcode Mintβ¦
Free Online Barcode & QR Code Generator
Pair a standard GS1-128 barcode with a stacked 2D component to carry more data without changing your label footprint.
Open the generator βTurn a CSV β or a numbered sequence β into hundreds of barcodes at once, exported as a ZIP of images or a print-ready PDF sheet. Launching with Pro.
The browser generator stays free forever. Paid plans are for teams who need bulk output and developers who need the REST API at scale β commercial license included. Tell us what you'd use; early-list members get first access and launch pricing.
What you're using right now
For designers & teams
Priced by requests. Commercial license and self-serve keys included; usage dashboard at launch.
A GS1-128 composite symbology is a linear GS1-128 barcode with a small two-dimensional component printed directly above it. The linear portion works exactly like a standalone GS1-128 barcode — it still opens with FNC1 and carries GS1 Application Identifiers — but the 2D component riding on top gives you room for supplementary data that wouldn't otherwise fit or that you don't want to force into the linear symbol. A scanner that only reads 1D barcodes ignores the 2D component and reads the linear part normally, while a 2D-capable imager reads both pieces as one combined message. That backward compatibility is the entire point: you can add data density without breaking existing scanning infrastructure.
The 2D portion of a GS1 composite symbol is built from one of three component types, chosen automatically based on how much supplementary data needs to fit: CC-A is the smallest, based on a limited MicroPDF417 structure, and suits a few extra characters; CC-B is a larger MicroPDF417 variant for moderate amounts of data; and CC-C is a full PDF417-based component reserved for GS1-128 composites that need to carry substantially more data than CC-A or CC-B can hold. The linear GS1-128 base and the 2D component are linked at the encoding level, so the two pieces are always read and validated together as a single logical message, not as two independent barcodes.
Typical supplementary data placed in the composite component includes secondary Application Identifiers that support the primary GTIN or SSCC in the linear symbol — for example a best-before date, additional lot detail, or link data used in specific trading-partner programs where extra traceability information travels with the case but doesn't need to be in the primary scan path.
Composite symbols show up where a business needs more data on a label than a linear GS1-128 barcode conveniently carries, but can't or won't switch to a full 2D-only format because part of the supply chain still relies on simple laser scanners. Perishable food logistics is a common case: the linear component might carry GTIN and lot number for compatibility with existing scanning infrastructure, while the composite component adds sell-by date or additional traceability data for systems that can read it. Some healthcare and specialty retail supply chains use composite symbology for the same reason — preserving compatibility with older 1D scanners already deployed at receiving docks while giving newer 2D-capable systems access to richer data from the same label.
Select GS1-128 Composite Symbology from the Linear Barcode list, then enter your linear AI data using standard parenthesis syntax, such as (01)10614141999996(17)251231, and supply the supplementary data that should appear in the 2D component. Barcode Mint automatically selects the right composite component size based on how much supplementary data you provide and renders the linear and 2D portions together as a single compliant symbol. From there you can:
/barcode?type=gs1-128composite&data=(01)10614141999996(17)251231 — to generate labels from your own systemsComposite symbols demand more print precision than a plain linear barcode because the 2D component has finer modules stacked directly above the bars, so use a high-resolution thermal transfer or laser printer rather than low-resolution direct thermal when label longevity or the 2D component's legibility matters. Leave adequate quiet zone above, below, and to the sides of the entire combined symbol — not just around the linear bars — since scanners need clear space to distinguish the composite component from adjacent print. Verify with an actual 2D-capable scanner during setup, since a linear-only scanner will read successfully even if the 2D component is damaged or misprinted, potentially masking a defect that only shows up downstream where 2D scanning is expected.
Composite symbology adds real printing and verification overhead compared to a plain linear GS1-128 barcode, so it's worth confirming the supplementary data genuinely doesn't fit in your primary AI string before committing to it. If your trading partners and internal systems can already parse a longer linear GS1-128 string with all your required Application Identifiers concatenated together, you likely don't need the composite component at all — plain GS1-128 is simpler to print, verify, and troubleshoot. Composite symbology earns its complexity specifically when you're bridging two audiences at once: a legacy 1D scanning fleet that needs to keep working unmodified, and a newer 2D-capable system that needs access to richer data from the very same label, without printing two separate barcodes.
If every scanner in your supply chain is already 2D-capable, a standalone GS1 Data Matrix or GS1 QR code symbol is often a cleaner choice than a composite, since it avoids managing two linked components on one label. Composite symbology is best reserved for that specific transitional window where both scanning generations are still in active use.