EAN-8 Generator

Compact 8-digit retail barcode for small packages where a full EAN-13 will not fit.

How EAN-8 is structured

EAN-8 prints seven data digits plus a check digit in a 67-module symbol — 28 modules narrower than EAN-13, achieved by using four digits on each side of the centre guard and narrower guard and digit patterns. Short codes are assigned individually by the GS1 member organisation, not generated from a company prefix, because the 7-digit payload leaves no room for one.

EAN-8 check digit

The check digit is the mod-10 sum over the seven data digits, weighted 3 and 1 alternately from the right, completed to the next multiple of ten. Enter seven digits to have it computed, or all eight to have it validated against the data.

EAN-8 compared with EAN-13

UPC-E also prints eight digits and also exists to fit small packages, but it is a zero-suppressed UPC-A that expands back to a 12-digit number. EAN-8 is a shorter code in its own right, so the two are not interchangeable: a retailer's database holds whichever number was issued. Compare the EAN-13 generator page for the same breakdown of structure, check digit and use cases.

Common EAN-8 problems

The code was invented rather than assigned

EAN-8 numbers come one at a time from the GS1 member organisation in the market where the product is sold. Generating a plausible-looking code that nobody issued means the item will scan to nothing, or worse, to somebody else's product.

The check digit does not match

A hand-typed check digit is the usual cause. Feed seven data digits and let the generator compute the eighth, then compare against the issued number before sending artwork to press.

Printed too small for the scanner

The EAN-8 magnification floor is 80% like any retail symbol, and its short height leaves little tolerance for a skewed scan. Keep the full height where the panel allows it and preserve the quiet zones.

Where EAN-8 is used

Not sure this is the right symbology? The barcode format guide groups every supported 1D and 2D format by industry with its character set and limits.