What GS1 DataBar Expanded Composite is
GS1 DataBar Expanded Composite pairs a GS1 DataBar Expanded linear component with a linked 2D composite component (drawn above it) that carries supplementary GS1 Application Identifier data. bwip-js draws this by parsing the pipe-delimited "<linear>|<composite-component>" payload, then delegating linear-component drawing to its already-covered GS1 DataBar Expanded encoder and composite-component drawing to its own internal GS1 Composite Component encoder -- confirmed directly, the same pairing shape already established for UPC-A Composite, GS1-128 Composite, and the DataBar Composite family already covered in this catalog.
Generate it now
Enter a value in the form "<GS1 DataBar Expanded AI data>|<composite AI data>" -- for example "(01)09521234543213(3103)001234|(91)1A2B3C4D5E" -- to see a live preview.
Valid input
A pipe character must separate the linear component from the composite component (bwipp.missingCompositeComponent rejects a value with no pipe). Both halves must be valid GS1 Application Identifier data -- the encoder's own GS1 parser validates AI structure, and an unparenthesized companion AI, or one that overflows its own declared length, is rejected outright (bwipp.GS1valueTooLong).
Key options
Supported options include height. Real, literal default is -1 (bwip-js auto-computes a bar height). A fixed height in millimetres genuinely changes the rendered geometry, even though this bcid's own final render step recomputes height from its combined linear+composite pixel grid -- the caller's original value has already shaped the linear component's own geometry by that point. Linkage is not a public option here at all -- a linked composite component is present by definition for this capability, internal to the encoder rather than something a caller opts into.
Output and printing
Export SVG for vector-precise label artwork or PNG for a quick proof.
Common uses
GS1 DataBar Expanded Composite is used on variable-measure retail items (fresh food sold by weight, for example) that also need to carry supplementary data such as a batch/lot number or best-before date beyond what the linear component alone encodes.
Example
See the live preview above, seeded with a bwip-js-verified valid value.
Size guidance
The composite component's own row count and the linear component's own segment count both scale with the data supplied; a fixed height only affects the linear component's own bar height, not the composite component's own row layout.
Troubleshooting
A rejected value usually means the pipe separator is missing, one half is not valid GS1 AI data, or a companion AI value in the composite half is not wrapped in parentheses.
Related formats
Related formats: the separately-covered plain GS1 DataBar Expanded generator (no linked composite component) for when only the linear component's own data is needed.
FAQ
Do I need a pipe character in the value?
Yes -- the linear component and the composite component must be separated by a single pipe character; omitting it is rejected outright.