EAN-8 Composite Generator

Generate EAN-8 Composite barcodes in your browser with live preview, validation, and PNG/SVG export.

Advanced options
Enter a value to see a live preview.
Options

These map directly to real generator options; anything not listed here is available under Advanced options above.

What EAN-8 Composite is

EAN-8 Composite pairs a standard EAN-8 linear barcode (for small items where a full EAN-13 does not fit) with a linked 2D composite component carrying supplementary GS1 data. bwip-js draws this by parsing the pipe-delimited "<EAN-8 digits>|<composite AI data>" payload, delegating linear-component drawing to the already-covered EAN-8 encoder and composite-component drawing to its own internal GS1 Composite Component encoder -- confirmed directly, the identical shape as EAN-13 Composite above.

Generate it now

Enter a value in the form "<8-digit EAN>|<composite AI data>" -- for example "95200002|(21)A12345678" -- 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). The linear half must be a valid 8-digit EAN-8 value, and the composite half must be valid GS1 Application Identifier data with each companion AI value wrapped in parentheses.

Key options

Supported options include includetext and height, both real EAN-8 options genuinely reaching this capability the same way as EAN-13 Composite above. Real, literal defaults: includetext false, height -1 (auto-computed). This bcid also declares its own real "guardwidth"/"guardheight" options, both confirmed to have zero effect on the rendered output.

Output and printing

Export SVG for vector-precise label artwork or PNG for a quick proof.

Common uses

EAN-8 Composite is used on small retail items (limited label space, hence EAN-8 rather than EAN-13) that also need supplementary GS1 data carried by the linked composite component.

Example

See the live preview above, seeded with a bwip-js-verified valid value.

Size guidance

The composite component's own row count scales with the data supplied; a fixed height only affects the linear EAN-8 component's own bar height.

Troubleshooting

A rejected value usually means the pipe separator is missing, the linear half is not a valid 8-digit EAN with a correct check digit, or a companion AI value in the composite half is not wrapped in parentheses.

Related formats

Related formats: the separately-covered plain EAN-8 generator (no linked composite component) for when only the linear component's own data is needed.

FAQ

Can I use this for a full-size EAN-13 product instead?

No -- this generator's linear component is specifically EAN-8 (8 digits); use the separate EAN-13 Composite generator for a 13-digit code.