UPC-A vs UPC-E: Full-Size vs Compact Product Barcodes

Compare UPC-A and UPC-E barcodes. Learn when to use the compact UPC-E format, how zero suppression works, and which format your product packaging requires.

UPC-A is the standard 12-digit retail barcode used on products throughout North America. UPC-E is the same identifier compressed into half the space. They're not different barcode systems — UPC-E is a compact encoding of UPC-A that exists because chewing gum, lip balm, and single-serve snacks don't have room for a full-width barcode.

Side-by-Side Comparison

FeatureUPC-AUPC-E
Digits in barcode12 (printed and encoded)8 (printed), 12 (encoded via suppression)
Nominal width37.29mm (1.47 in)22.11mm (0.87 in)
Nominal height25.93mm (1.02 in)25.93mm (1.02 in)
Width at 80% magnification29.83mm17.69mm
Bars and spaces30 bars, 29 spaces18 bars, 17 spaces
Guard barsStart (101) + center (01010) + end (101)Start (101) + end (010101)
Number system0 or 10 or 1
Can encode any UPC numberYesNo — only numbers with qualifying zeros
Scanner supportUniversalUniversal
POS output12-digit UPC-AExpanded to 12-digit UPC-A

How UPC-E Zero Suppression Works

UPC-E achieves its compact size through zero suppression — removing trailing zeros from the company prefix or product code, then encoding the remaining digits along with a "suppression rule" digit that tells the scanner how to reconstruct the full UPC-A number.

The Six Suppression Rules

Only UPC-A numbers with zeros in specific positions can be compressed. The last digit of the 6-digit UPC-E code (before the check digit) indicates which rule was applied:

UPC-E SuffixRuleUPC-A Pattern That Qualifies
0Manufacturer code ends in 000, item number is 00000-009990 XX000 00YYY C0 XXYY0 C
1Manufacturer code ends in 100, item number is 00000-009990 XX100 00YYY C0 XXYY1 C
2Manufacturer code ends in 200, item number is 00000-009990 XX200 00YYY C0 XXYY2 C
3Manufacturer code ends in X00, item number is 00000-000990 XXX00 000YY C0 XXXY3 C
4Manufacturer code is any, item number is 00000-000090 XXXX0 0000Y C0 XXXXY4 C
5-9Manufacturer code is any 5-digit, item is 00005-000090 XXXXX 0000Y C0 XXXXXY C

This looks complex, but the generator handles it automatically. You enter a UPC-A number, and it tells you whether UPC-E compression is possible and what the compressed code looks like.

Example Conversion

UPC-A: 0 12000 00789 0 (check digit = 0)

  • Company prefix 12000 ends in 000 → rule 0 applies
  • Remove the zeros: company → 12, item → 789
  • UPC-E: 0 12789 0 0 → printed as 01278900

When scanned, the scanner reverses this process and outputs the full 12-digit UPC-A.

When UPC-E Makes Sense

You Need UPC-E If:

  • Your packaging width is under 25mm — UPC-E at 80% magnification fits in about 18mm, where UPC-A needs 30mm
  • Total printable surface area is very small — similar to when EAN-8 is used internationally
  • Your GS1 number qualifies for zero suppression — not all numbers can be compressed

Stick with UPC-A If:

  • Your packaging fits a full barcode — the vast majority of retail products
  • Your UPC number doesn't qualify — if there are no qualifying zeros, UPC-E isn't an option
  • You're designing new packaging — design the package to fit UPC-A from the start
  • You want simplicity — UPC-A is the straightforward default with no compression rules to manage

Products That Typically Use UPC-E

  • Chewing gum and mints
  • Lip balm tubes
  • Individual candy bars
  • Single-serve condiment packets
  • Small cosmetics (travel sizes, samples)
  • Batteries (individual cells)
  • Small hardware items (screws, bolts in retail packaging)

Printing and Scanning

Both formats have the same print quality requirements per GS1 standards:

  • Minimum X-dimension: 0.264mm (80% magnification) to 0.660mm (200%)
  • Bar height: Must maintain proportional to width
  • Quiet zones: UPC-A requires wider quiet zones; UPC-E's quiet zones are proportionally smaller

UPC-E's narrower bars at minimum magnification can be more sensitive to print quality issues — ink spread, printer resolution, and substrate quality all affect scanability. If you're printing UPC-E at 80% magnification, use at least 300 DPI and verify the barcode scans before production.

Scanner Behavior

All retail scanners automatically:

  1. Detect UPC-E format from the guard bar pattern (no center guard in UPC-E)
  2. Decode the 6 compressed digits
  3. Determine the suppression rule from the last digit
  4. Expand to the full 12-digit UPC-A number
  5. Output the 12-digit number to the POS system

The cashier and customer never know whether UPC-A or UPC-E was scanned — the POS system receives the same product identifier either way.

The North American vs International Parallel

UPC-A/UPC-E mirrors the international EAN-13/EAN-8 relationship:

North AmericaInternationalPurpose
UPC-A (12 digits)EAN-13 (13 digits)Standard retail products
UPC-E (8 digits, compressed)EAN-8 (8 digits, independent)Small packaging

The key difference: UPC-E is a compressed version of UPC-A (same number, smaller barcode). EAN-8 is an independent number system (different number, smaller barcode). UPC-E numbers are always expandable back to UPC-A. EAN-8 numbers have no relationship to EAN-13 numbers.

For more on UPC vs EAN, see our EAN-13 vs UPC-A comparison.

Generating Your Barcodes

Create barcodes in either format with our free generators:

Download as SVG for packaging design, PNG for label printing, or PDF for commercial print. For format and output guidance, see our free barcode generator guide.

6 min read

Frequently Asked Questions

What is the difference between UPC-A and UPC-E?
UPC-A encodes 12 digits in a full-size barcode (~37mm wide). UPC-E encodes the same 12 digits but compresses them to 8 printed digits using zero suppression, producing a barcode about half the width (~22mm). Both identify the same product — UPC-E is just the compact representation for small packaging.
Can I convert any UPC-A to UPC-E?
No. Only UPC-A numbers with specific patterns of zeros in the company prefix or product code qualify for zero suppression. The number must have consecutive zeros in particular positions. Most UPC-A numbers cannot be expressed as UPC-E.
Do all scanners read UPC-E?
Yes. Every retail barcode scanner reads both UPC-A and UPC-E. The scanner internally expands UPC-E back to the full 12-digit UPC-A number, so the POS system receives the same product identifier regardless of which format was scanned.
Should I use UPC-E for my product?
Only if your packaging is too small for UPC-A (under ~25mm of available width for a barcode). UPC-E is harder to work with — not all product numbers can be compressed, and it adds complexity to your barcode management. Use UPC-A unless space constraints make it impossible.
Is UPC-E being phased out?
No. UPC-E remains an active GS1 standard with no plans for retirement. As long as small products need retail barcodes, UPC-E serves a purpose. However, Data Matrix and GS1 QR codes may eventually provide alternatives for very small packaging.