Skip to main content
UPC-E is a shortened UPC-A for packages too small to fit the full barcode. It prints 8 digits but stands for a 12-digit GTIN (Global Trade Item Number): the zeros are squeezed out and put back when the barcode is read.

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

  • Small retail packs in the United States and Canada: gum, cosmetics, cans, cigarette packs.
  • Only on some products. A number can be shortened only if it contains enough zeros in the right places, so a brand can’t choose UPC-E for any product it likes.

Anatomy

A UPC-E symbol is 51 modules wide, a little over half the width of a UPC-A. A module is the width of the narrowest bar or space.

Two digits have no bars

Only the six middle digits have bars. Each is drawn in one of two patterns, and the combination across the six encodes both the number system digit and the check digit. A scanner works those two out from the patterns, which is also how it checks the read.

How the zeros come back

The last of the six digits says where the removed zeros belong. Writing the six digits as ABCDEF, the full UPC-A is: The leading 0 is the number system digit. It can also be 1, which expands the same way.

Size and quiet zones

UPC-E uses the same module sizes as UPC-A: 0.330 mm at 100%, and from 0.264 mm to 0.660 mm. The quiet zones are at least 9 modules on the left and 7 on the right.

Check digit

A UPC-E has no check digit of its own. The last printed digit is the check digit of the full 12-digit UPC-A, calculated with the GS1 mod-10 algorithm. So to verify a UPC-E, expand it first. For 01234565, the expanded number is 012345000065: See Check digits.
  • UPC-A: the full 12-digit form of the same number.
  • EAN-8: also 8 digits and also for small packs, but a different barcode. An EAN-8 is its own number and doesn’t expand to anything.
  • Add-ons: UPC-E can carry the same 2- or 5-digit add-on as UPC-A.

Gotchas

  • The scan is longer than the label. Many scanners expand UPC-E to 12 digits, or to 13 with an EAN-13 leading zero. See UPC-E expands from 8 digits to 12.
  • The scan has 6 digits. The scanner is dropping the number system and check digits. Turn both back on, because you need them to expand the number.
  • An 8-digit scan isn’t always a UPC-E. It could be an EAN-8. They’re different numbers, so use the barcode type your scanner reports to tell them apart, not the length.
  • Your database has the 12-digit form. Brands register the full UPC-A. Expand before you look anything up.

Scanning it in your app

UPC-E 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.
Normalization expands UPC-E to a full GTIN for you. See Normalization.

Specification