What is a UPC?

UPCs are part of a numbering system developed for use on product barcodes. As such almost every commercially available product has a UPC – or alternatively an EAN (a 13-digit superset of UPCs used in Europe – usually just with a 0 added on the beginning for US products). This means that the barcode can be read by any barcode reader anywhere in the world and the product precisely identified for inventory, sale and other purposes. Even slight variations of a product, such as different colour options, usually get their own UPC.

Who issues UPCs?

UPCs are issued by a non-profit organisation called G1 US. Large companies pay to join G1 and will typically be allocated blocks of UPCs, the initial digits of which will identify that company. Smaller companies can opt to buy UPCs on a one-off basis from a reseller and avoid the annual membership fees, although this is not ideal since their products will not be identified as their own by their initial digits and their access to certain markets may be limited.

For more information about UPCs and how UPCZilla works, read our FAQ.

How does UPCZilla work?

A lot of UPC databases rely on users to enter product data manually, leading to possible curation problems. UPCZilla works a little differently – although we import publicly-available UPC data manually whenever we can, we also leverage the web services of major retailers like Amazon, eBay and others to fetch likely matches for a given UPC. UPCZilla also uses a custom engine (based on the Storeminator code) to produce a formatted price comparison listing for the given product.

Can we use your UPC database?

Kind of – check out our Bulk UPC Tool. You can use it to get info on UPCs in JSON format, but it’s a bit limited at the moment, we will be improving it in the near future once users have given us more feedback on what they want from it. Please don’t try to scrape our site, we can’t provide that kind of bandwidth and we can and will block bots. However we do perform data extraction services on a contractual basis to various companies, feel free to contact us if you have a specific need relating to UPCs/product data.

Does UPCZilla have an API?

Unfortunately, no, it’s something we would like to offer one day, but right now it’s not technically feasible for us for various reasons, one of which is server capacity, another of which is our relatively modest database (2-3,000,000 UPCs is actually nothing compared to how many there are out there).

Why is there no complete list of UPCs anywhere?

What you have to realise about UPCs is that they are issued to manufacturers in blocks by the G1 organization, and then the manufacturers allocate them to their products as they wish. So there is no central record of UPCs, all you can do is try to compile lists of them from a variety of retail sources. There is also nothing to stop manufacturers allocating the same UPC to two different products, or to allocate the same UPC to two different variants (e.g. color options of a product), and there are any number of other confusions that can arise. However, considering all this, the system works pretty well and we are trying to build up as comprehensive a list as possible.

Why does a UPC search sometimes show several completely different items?

Unfortunately, because we rely on 3rd-party data, we have no control over how retailers/sellers represent their products, and whether they have supplied a correct UPC. Perhaps sellers deliberately intend to mislead, or they are genuine errors. The only thing we can do is report items with misleading data to eBay or other selling platforms. Maybe one day we will find a way to eliminate those kinds of product from our database. In the meantime, a guesstimate would be that this problem affects less than 1% of UPC searches, which is pretty acceptable, we think.

Why can items sometimes vary hugely in price between retailers?

Although of course every retailer has its own pricing and discounting policies, there is also an issue which particularly affects groceries, stationery, industrial supplies etc. – the same UPC tends to be used for a single pack and a multi-pack of the same item. So obviously a 10-pack of wet wipes will cost close to 10 times the price of a single pack, but we have no way of automatically filtering for this. You should be able to tell that this is going on, though, when the price is orders of magnitude greater for some items in the list. You can also spot this in the list of alternative titles displayed below the main comparison listing, e.g.:

  • My*T*Fine: Pudding & Pie Filling Chocolate, 3.13 Oz (Pack of 4)
  • Chocolate Pudding & Pie Filling Mix by My T Fine – Each Box: 4 1/2 cup Servings
  • My T Fine Chocolate Pudding, 3.125-Oz (Pack of 12 Boxes)
  • My T Fine Pudding, Chocolate, 3.125-Ounce (Pack of 12)

As you can see there are both 4-packs and 12-packs of the same item (with the same UPC), so if you were actually shopping for these items you might want to click through to the retailer to check what they were actually selling.

Why are some items only available from a small number of retailers, or just one?

There are a lot of UPCs¬†connected with items that¬†are only listed on a single retailer’s site, often eBay. The reason is probably because these are discontinued items. The UPC is still associated with the product, and probably will be for many years to come, but the item is¬†no longer being manufactured and so any stocks left are ending up being sold through sites like eBay. Typically such items will show up on Amazon and other retailers’ sites with a note like “Currently unavailable,¬†we don’t know when or if this item will be back in stock.” but these listings will not show up in our price comparison listing as they do not have a price.

Another reason items sometimes only have one or two hits is because they are not intended for the US market (this site currently targets US retailers primarily) and so the items are rare imports rather than commonly available items.

How do we know if a UPC is valid?

We now have a UPC validation tool which you can use to check the validity of UPCs, or here are a couple of simple ways to check:

  • It is 12 digits long. A valid UPC-A code should be 12 digits long. However, a certain percentage of them are only 11 digits. Why? Because the retailer/seller didn’t enter them properly, probably. However, MOST of the time, it seems that they have simply omitted a leading zero. For example, see this page for UPC¬†27077072143. This UPC is only 11 digits long, but we still get results because a lot of sellers evidently think the ‘0’ on the beginning isn’t necessary (it is). It’s also quite possible that Excel or some other software has stripped off the leading zero. Compare when we add a zero:¬†UPC 027077072143. We get the exact same product, but much better results, from more retailers. So if you are a seller and you want your products to be found, you are highly advised to make sure the UPC is 12 digits long. By the way, a 13-digit UPC (or EAN – European/International Article number), for US products, is just the UPC-A with an additional 0 on the beginning (the ‘0’ is the US country code), and yields the same checksum, so that is why 12-digit UPCs persist in the US, though we are looking at how to support both 12- and 13-digit codes, and European products too.
  • The rightmost checksum digit validates properly. We won’t go into an explanation here of how to calculate the checksum, you can check out our UPC validation page for that, but the main point is that the rightmost digit in a UPC should be a digit that validates the rest of the digits in the UPC. By passing it through a simple algorithm, a particular combination of digits in the UPC produces a particular checksum digit and so although not perfect, this can verify whether there is a digit wrong somewhere.