EAN-13 vs UPC-A barcodes


    Please click the [ Mark Complete ] button at the bottom of this page when you’ve achieved the following goals:

  • Explain the difference between EAN-13 and UPC-A barcodes
  • Understand when you should use EAN-13 vs UPC-A barcodes.

What is the difference between EAN and UPC barcodes?

UPC-A Barcodes are effectively a subset of EAN-13 Barcodes, and both barcodes can easily be scanned by most scanners.

If the first digit on the EAN-13 number is a ‘0’, then the bars will be of both the EAN-13 and the UPC-A (without the leading ‘0’) will be identical.

The displacement of the human readable numbers below the bars image differs between the UPC-A and EAN-13 barcodes however, and this is the biggest difference:

     Identical graphical bars but different numbering format


What are the differences in usage between UPC and EAN barcodes?

UPC-A Format barcodes have traditionally been used in the USA and EAN-13 format barcodes have been used throughout the rest of the world.

Nowadays, most international stores accept barcodes in either format.

However, there may be some older systems that only accept one or the other.

So to play it safe…

  • If your product is being sold in the USA, the UPC-A format barcodes are best.
  • If your product is international, or sold in a country other than the USA, an EAN-13 Barcode is best.


If you come across a store that has difficulty reading your EAN-13 or UPC-A Barcode, they can either ignore the leading ‘0’ or add a leading ‘0’ depending on how many digits their system prefers.
In this way the barcode will read the same as the opposite format (as the bars are identical regardless) and will still be globally unique.

See also:    https://internationalbarcodes.com/difference-between-ean-13-and-upc-a-barcodes/


   108 – Scanning as EAN13 or UPC
This video compares EAN13 (13-digit, including a leading zero) and UPC (12-digit, without a leading zero) barcodes | The bar image is identical across both, so a scanner cannot determine whether EAN13 or UPC… this differentiation would be programmed in the scanning software | The default tends to be the 12-digit number, so without specific programming a system will assume 12-digit Demo – software programmed to look for and successfully scan the 13-digit version |