Barcode Generators

UPC Scanner

Read the 12-digit UPC-A barcode used across North American retail, split into its number system, manufacturer and product parts.

Rate this tool

Scan a code with your camera, drop in an image, or paste one with Ctrl + V.

How to use the UPC Scanner

  1. Point your camera at the barcode, drop in a photo, or paste one with Ctrl + V.
  2. The twelve digits are split into number system, manufacturer, product and check digit.
  3. A UPC-A is also a valid EAN-13 with a leading zero, so either reading is correct.

About the UPC Scanner

UPC-A is the twelve-digit barcode that has been on North American retail packaging since the 1970s, and it is the direct ancestor of EAN-13. In fact a UPC-A is an EAN-13 with a leading zero, which is why modern scanners — including this one — read both without being told which is which.

The first digit is the number system, and it is more informative than most people expect. A 0, 1, 6, 7 or 8 marks an ordinary retail item. A 2 means the item is weighed in-store, so the code was printed at the deli or butcher counter and the "product" digits encode a price or a weight rather than a fixed product. A 3 marks a drug or health item using the National Drug Code. A 5 is a coupon.

After the number system come five digits of manufacturer, five of product, and a final check digit computed from the preceding eleven. As with EAN, the check digit exists so that a misread fails outright rather than returning a plausible but wrong number.

Scan with your camera, from a photo, or by pasting an image. Everything decodes locally and nothing is uploaded. For the compressed six-digit variant on small packaging, and for every other symbology, use the universal barcode scanner.

Frequently asked questions

What is the difference between UPC-A and EAN-13?

UPC-A is twelve digits, EAN-13 is thirteen. A UPC-A is an EAN-13 with a leading zero, so any modern scanner reads both and the two systems are interchangeable at the till.

What does the first digit mean?

It is the number system. 0, 1, 6, 7 and 8 are ordinary retail; 2 means the item was weighed and labelled in-store; 3 is a drug or health item; 5 is a coupon.

Why do in-store weighed items scan differently?

Because a number-system-2 code encodes a price or weight rather than a fixed product identity. The same tray of meat labelled twice will carry two different barcodes.

Can I find the product name from a UPC?

Not reliably, and not for free. The number identifies the item within each retailer's system; there is no complete public database mapping every UPC to a product.