UPC-E Composite Generator

Generate UPC-E 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 UPC-E Composite is

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

Generate it now

Enter a value in the form "<8-digit UPC-E>|<composite AI data>" -- for example "01234558|(15)021231" -- 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 UPC-E value with a correct check digit (bwipp.upcEbadCheckDigit rejects an incorrect one), 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 UPC-E options genuinely reaching this capability because it forwards the caller's live options into its own internal UPC-E call. 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

UPC-E Composite is used on small North American retail items (limited label space, hence the zero-suppressed UPC-E rather than full UPC-A) 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 UPC-E component's own bar height.

Troubleshooting

A rejected value usually means the pipe separator is missing, the linear half is not a valid UPC-E value 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 UPC-E generator (no linked composite component) for when only the linear component's own data is needed.

FAQ

Can I use a full UPC-A instead of UPC-E?

No -- this generator's linear component is specifically the zero-suppressed UPC-E format; use the separately-covered UPC-A Composite generator for a full 12-digit UPC-A.