MarkingBear

Bulk Barcode & QR Generator

Home Academy
Barcode & QR Academy

Retail standards

EAN-13 vs UPC-A Barcodes: What is the Difference and Which One Do You Need?

August 13, 2026 2 min readBarcode & QR Academy Team

Both are the familiar striped rectangle on the back of a product, both are read by the same scanners, and both use the same Modulo-10 checksum. The practical difference is length, geography and who issued your numbers. Here is how to tell which one you need before you order labels.

Side by side

EAN-13UPC-A
Total digits1312
Data digits you supply1211
Primary marketGlobal, standard across Europe, Asia, AustraliaUnited States and Canada
StructureGS1 prefix + company prefix + item reference + check digitNumber system digit + company prefix + item reference + check digit
Physical width at 100%Slightly widerSlightly narrower

They are really one family

UPC-A is a subset of EAN-13. Put a leading zero in front of a 12-digit UPC-A and you have a valid EAN-13 that identifies the same product. Modern retail scanners and databases handle both, which is why a US product still scans in a European supermarket.

That also means you should never invent your own numbers by padding or trimming someone else's. The number is a global identifier licensed to one company.

Which one should you use?

  • Selling mainly in the US or Canada, and your retailer asked for a UPC: use UPC-A.
  • Selling in Europe, the UK, Asia, Australia or online worldwide: use EAN-13.
  • Selling in both: EAN-13 is the safer single choice; US systems read it fine.
  • Listing on Amazon or a marketplace: use whichever format matches the GTIN you registered.

Where the numbers come from

Retail barcode numbers are issued through GS1, the organisation that hands out company prefixes. You license a prefix, then assign item references within it yourself. A generator does not create a valid retail identity — it renders the number you were allocated.

For internal use only — warehouse bins, asset tags, workshop parts — you do not need a GS1 number at all. Code 128 or Code 39 is a better fit because they accept letters as well as digits and carry no registration expectations.

Typing them into a generator

Supply 12 digits for EAN-13 or 11 for UPC-A and MarkingBear appends the Modulo-10 check digit. Supply the full 13 or 12 and it verifies the last digit instead, telling you the correct one if it disagrees.