Skip to main content
EAN-8 is the barcode for retail products too small to carry an EAN-13. It encodes an 8-digit GTIN (Global Trade Item Number), which is a complete number in its own right and not a shortened EAN-13.

Decode one

Scan or paste a barcode and see every part of it.

Make one

Generate a valid barcode from fields.

Where you’ll see it

  • Very small packs outside North America: cosmetics, confectionery, cigarette packs, pencils.
  • Store-assigned numbers. Retailers use 8-digit numbers starting with 0 or 2 for their own products and for items priced in store.

Anatomy

An EAN-8 symbol is 67 modules wide, where a module is the width of the narrowest bar or space. Each digit takes 7 modules, split into two bars and two spaces. The example number is made up for illustration. Unlike EAN-13, every digit has its own bars. Nothing is encoded in the choice of pattern.

How the numbers are issued

An 8-digit number leaves room for very few items after the prefix, so there’s no company prefix. Each national GS1 office issues EAN-8 numbers one at a time, and only for products that can’t fit a larger barcode. That scarcity is why you’ll see EAN-8 far less often than EAN-13.

Size and quiet zones

At 100% size a module is 0.330 mm, making the symbol 26.73 mm wide including quiet zones, with 18.23 mm bars. GS1 allows modules from 0.264 mm (80%) to 0.660 mm (200%). The quiet zones are at least 7 modules on each side.

Check digit

The last digit is a check digit, calculated from the other 7 with the GS1 mod-10 algorithm. To calculate it:
  1. Multiply the first 7 digits alternately by 3 and 1, starting with 3.
  2. Add up the results.
  3. Subtract the total from the next multiple of 10. The difference is the check digit (0 if the total is already a multiple of 10).
For the example above: Every GTIN uses the same algorithm. See Check digits.
  • EAN-13: the full-size barcode. A product has either an EAN-8 or an EAN-13 number, not one derived from the other.
  • UPC-E: North America’s small-pack barcode. It also prints 8 digits, but it’s a compressed UPC-A.
  • Add-ons: EAN-8 can carry a 2- or 5-digit add-on, though it rarely does.

Gotchas

  • An 8-digit scan isn’t always an EAN-8. It could be a UPC-E. Use the barcode type your scanner reports to tell them apart, not the length.
  • Don’t expand it. A UPC-E expands to 12 digits by putting zeros back in the middle. An EAN-8 only ever gets zeros added to the front, to pad it to 13 or 14 digits for storage.
  • Numbers that start with 0 or 2 aren’t globally unique. Stores assign them. Look them up with the retailer’s rules, not in a global product database.

Scanning it in your app

EAN-8 is in the Retail product group, along with every other barcode that identifies a product by its GTIN, including QR Code and Data Matrix when they carry one.
To store it alongside longer GTINs, pad it with zeros on the left. See Normalization.

Specification