Official GetUPCCode.com store — GS1-originated UPC & EAN codes, delivered by email.

What is a UPC code? The seller’s guide

UPC Codes 16 min read Updated By David Johnson

41,297 views

A UPC barcode with the 12-digit number 012345678905 and its three parts

A UPC code (Universal Product Code) is a 12-digit number that identifies one specific product, printed as a barcode so a scanner can read it. The number is a GTIN-12 in the GS1 system. It holds a company prefix, an item reference and a check digit. It doesn’t hold the price, product name or country of origin.

That last sentence surprises most new sellers, and it explains most of what follows. The code is a lookup key. Everything useful sits in a database somewhere else, and who controls that database record is the part that decides whether Amazon, Walmart or a retail buyer accepts your code.

What a UPC code is, in plain terms

A UPC is a product’s ID number. GS1 US, the body that manages UPCs in the United States, calls the 12-digit number a GTIN-12 and says it is “synonymous with UPC and is the only GTIN type that can be encoded in the UPC-A barcode”.

So you’ll see three words used for the same thing:

  • GTIN-12 is the number itself (Global Trade Item Number, 12 digits).
  • UPC-A is the barcode symbol that carries it, the bars plus the digits underneath.
  • UPC is what everyone actually says, meaning either of the above.

GS1 US puts the distinction this way in its GTIN guideline: the GTIN is the number, while the U.P.C. is “a barcode that encodes a GTIN-12”.

For a seller the difference rarely matters. When a marketplace form asks for a “UPC”, it wants the 12 digits. Our help page on UPC vs GTIN has the short version.

One UPC identifies one product variant. A blue medium T-shirt and a blue large T-shirt are two products with two UPCs. GS1 US is blunt about it: “each variation of each product you sell requires a unique barcode.”

The 12 digits, piece by piece

Every UPC splits into three parts: a company prefix, an item reference and a check digit. The first two share 11 digits between them, and the check digit is always the 12th. GS1 US describes it as “Eleven digits containing your U.P.C. Company Prefix and the Item Reference” followed by the check digit.

Take GS1 US’s own demo number, 614141000012:

Part Digits in the example Who sets it What it does
Company prefix 614141 Licensed by GS1 Identifies the company that licensed the number block
Item reference 00001 The brand owner Identifies the specific product
Check digit 2 Calculated Catches typing and scanning errors

For a digit-by-digit walk through a real code, see what the digits in a UPC mean.

The company prefix

The company prefix is a block of numbers GS1 licenses to a business. GS1 US says prefixes “are assigned in varying lengths depending on the company’s needs”. A longer prefix leaves fewer digits for products, so it suits a small catalog.

Many guides still teach the 1970s layout: one “number system” digit, five manufacturer digits, five product digits, one check digit. That fixed 6 and 5 split is out of date. Today the first digit is simply part of a variable-length prefix, and the length depends on how many products the licensee needs to number.

Here’s how the math works with the 11 shared digits and GS1 US’s current prefix sizes:

Products the prefix covers Item reference digits Company prefix length (UPC)
10 1 10 digits
100 2 9 digits
1,000 3 8 digits
10,000 4 7 digits
100,000 5 6 digits

The demo prefix 614141 is six digits, so it has room for 100,000 products. In the 13-digit world the same prefix gets a leading zero. The GS1 General Specifications (Release 25.0, January 2025) give exactly this example: the 6-digit UPC prefix 614141 comes from the 7-digit GS1 Company Prefix 0614141.

The item reference

The item reference is the brand owner’s own numbering for each product. GS1 describes it as a number “containing no logic”. Item 00001 isn’t “better” than item 00002, and the digits don’t encode size, color or category.

Don’t try to build meaning into them. Sellers who reserve “1 for small, 2 for medium” run out of numbers and end up with gaps nobody can explain two years later. Number products in order and keep the meaning in a spreadsheet.

The check digit

The check digit is the 12th digit, calculated from the first 11. GS1 US says it “helps verify that the identifier has been entered correctly”. If one digit is mistyped or misread, the math stops adding up and the scanner or website rejects the code instead of ringing up the wrong product.

How to calculate a UPC check digit

Multiply the 11 digits by alternating weights of 3 and 1, add the results, and take the number that brings the total up to the next multiple of 10. The GS1 General Specifications set the weights from the right: the digit next to the check digit gets 3, the one before it 1, and so on. For a UPC that means positions 1, 3, 5, 7, 9 and 11 get 3.

Worked example with 61414100001 (the first 11 digits of 614141000012):

Position 1 2 3 4 5 6 7 8 9 10 11
Digit 6 1 4 1 4 1 0 0 0 0 1
Weight 3 1 3 1 3 1 3 1 3 1 3
Result 18 1 12 1 12 1 0 0 0 0 3
  1. Add the results: 18 + 1 + 12 + 1 + 12 + 1 + 0 + 0 + 0 + 0 + 3 = 48.
  2. Find the next multiple of 10 at or above 48. That’s 50.
  3. Subtract: 50 minus 48 = 2. The check digit is 2, so the full UPC is 614141000012.

If the total already ends in 0, the check digit is 0. To check a code someone sends you, run the first 11 digits and compare. Our UPC check digit calculator does it instantly, and so does GS1’s own tool.

This step catches a common problem with “free” numbers found online: a random 12-digit string fails the check about nine times out of ten. Google Merchant Center tells sellers to “Make sure that the check digit is present and correct” and says not to guess or make up a value.

What the first digit tells you

The first digit of a UPC tells you what kind of number it is, not where the product comes from. The GS1 General Specifications (figure 1.4.5-1) reserve the leading digit like this:

First digit What GS1 uses it for Can you list it as a product UPC?
0, 1, 6, 7, 8, 9 Company prefixes for normal products Yes
3 Company prefixes, reserved for alignment with the FDA National Drug Code labeler code Yes (mostly drugs and health products)
2 Restricted circulation within a region, such as store-weighed meat and deli items No
4 Restricted circulation within one company, such as a store’s own labels No
5 Reserved for future use No

That’s why a supermarket price sticker on a pack of ground beef often starts with 2. The store prints it for its own scales, and it means nothing outside that chain. Google Merchant Center rejects GTINs with these restricted prefixes and coupon prefixes for the same reason.

UPC-A vs UPC-E vs EAN-13

UPC-A is the standard 12-digit barcode. UPC-E is a squeezed 6-digit version of a UPC-A for tiny packs. EAN-13 is the 13-digit barcode used mainly outside North America. All three carry a GTIN, and retail scanners in North America read all three.

Format Digits GTIN it carries Where you see it Best for
UPC-A 12 GTIN-12 US and Canada retail Almost every product sold in North America
UPC-E 6 encoded (8 printed with the leading 0 and check digit) GTIN-12, zeros suppressed Small items such as candy and trial sizes Packs too small for a full UPC-A
EAN-13 13 GTIN-13 UK, EU and most of the world Products sold mainly outside North America

UPC-E only works for some numbers. The GS1 General Specifications allow it only for GTIN-12s that start with a zero and contain four or five zeros in set positions. Their own example: 012345000058 compresses to the six digits 123455. If your number doesn’t have that run of zeros, there’s no UPC-E version of it. Google’s feed rules ask you to convert UPC-E back to 12 digits before you submit it.

A UPC already is an EAN-13 with a zero in front. The General Specifications say a UPC-A “may be decoded as a 13-digit number by adding an implied leading zero”. So 614141000012 and 0614141000012 are the same product, and the check digit doesn’t change. GS1 US says you can be confident an EAN code works in the US, and both formats can be used internationally with one code.

The other two GTIN lengths are rarer for sellers. GTIN-8 (EAN-8) is for very small packs outside North America, and GTIN-14 identifies cases and cartons, usually printed as an ITF-14 barcode on the box. GS1 US lists them on its barcode types page.

Who issues UPC codes

GS1 is the only organization that issues company prefixes. It’s a global standards body with national member organizations: GS1 US in the United States, GS1 Canada, GS1 UK and so on. Each one licenses prefixes to businesses in its country.

The system started in American grocery. IBM’s history of the code says the UPC was “officially born on April 1, 1973”, and the first scan at a checkout came on June 26, 1974, at Marsh’s Supermarket in Troy, Ohio, on a 67-cent pack of Wrigley’s Juicy Fruit gum. The numbering body was the Uniform Code Council (UCC), which is now GS1 US.

That history matters for resellers. In a 2004 class-action settlement covered by Supermarket News, companies that joined the UCC before August 28, 2002 were released from paying renewal dues to keep using their company prefixes. Many reseller codes, including ours, come from prefixes licensed before that date. Our page on GS1 vs reseller codes explains where those numbers come from and what they can and can’t do.

You can get a UPC in three ways today:

  1. License a GS1 company prefix. You assign your own numbers, and every code links to your company in GS1’s records.
  2. License a single GTIN from GS1 US. GS1 US says individual GTINs “can be licensed outside of a GS1 Company Prefix” for businesses with few products.
  3. Buy individual codes from a reseller. You get specific numbers from an older prefix, not a prefix of your own.

What a UPC does

A UPC gives every party in the chain one shared ID for your product. That’s the whole job, and it’s a big one.

What a UPC doesn’t do

Plenty of myths stick to barcodes. Here are the ones that cost sellers money.

It doesn’t contain the price. The price lives in the store’s or marketplace’s system, linked to the number. Change your price and the barcode on the box stays exactly the same.

It doesn’t show country of origin. GS1 answers this directly: “No, The GS1 Prefix does not show the country of origin.” The prefix shows which GS1 office licensed the number, and the product could have been made anywhere.

It doesn’t carry product details. There’s no name, size or ingredient list in the bars. A phone app that shows a product name after a scan is reading its own database, which is why apps sometimes show the wrong name for a new product.

It doesn’t protect your brand. A UPC is an ID, not a trademark. Owning the code on your box doesn’t stop another seller listing the same product; brand protection on Amazon runs through trademarks and Amazon Brand Registry.

It isn’t a SKU. A SKU is your internal stock code and can be anything you like. A UPC follows GS1 rules and must be unique worldwide. Most sellers use both.

It can’t be recycled freely. The GS1 General Specifications say “An allocated GTIN SHALL NOT be reallocated to another trade item”, with narrow exceptions for codes that were never used in final form. A discontinued product keeps its number.

When you need a UPC

You need a UPC when the place you sell asks for one. For most products the requirement comes from the retailer, marketplace or distributor, so the answer changes by channel. Here’s how the main ones handle it:

Where you sell Do you need a UPC? What they say
Amazon Usually, unless you get a GTIN exemption May check codes against GS1 data and treat mismatches as invalid
Walmart Marketplace Yes Requires product IDs and cross-references the GS1 database
eBay In most categories Identifiers required in most categories; “Does not apply” allowed for items without one
Google Shopping If the product has one Submit the manufacturer’s GTIN; never make one up
Retail stores and distributors Almost always Usually want GS1 codes in your own company name
Your own website only No Optional, but useful for feeds and future wholesale

Amazon is the strictest case. GS1 Australia’s Amazon FAQ summarizes the policy: “Amazon may verify the authenticity of product GTINs by checking the numbers against GS1 services”, and GTINs that don’t match GS1’s information may be considered invalid. In practice Amazon can block a listing, ask you for a GTIN exemption, or ask for GS1-issued codes. Our guide to UPC codes for Amazon covers what gets blocked and why.

eBay’s rule is gentler. Its seller center says identifiers “are required when you’re listing in most categories”, and you can pick “Does not apply” for things like antiques.

For the full channel-by-channel table, including Shopify and TikTok Shop, read do I need a UPC to sell online.

Two rules apply everywhere. Every variant needs its own code, so 3 colors in 4 sizes means 12 UPCs. And every packaging level a buyer can order needs its own GTIN. GS1 US says there should be a unique GTIN for each packaging level: consumer unit, inner pack, multipack, case or pallet.

GS1 or a reseller, honestly compared

GS1 codes are registered to your company. Reseller codes are cheaper and have no yearly fee, but GS1’s records show the original prefix holder, not your brand. Which one is right depends on where you sell, not on which is “real”. Both are valid 12-digit GTINs that pass the check digit.

GS1 US single GTIN GS1 US prefix (10 codes) GS1 Canada Individual GetUPCCode (reseller)
Price $30 one-time $250, then $50 a year C$26.25 a year (revenue under C$250,000) $4.59 for 1, $15 for 10, one-time
Codes 1 10 1 As many as you buy, up to 100,000
Registered to you in GS1 data Yes Yes Yes No, shows the original licensee
Yearly fee None Yes Yes None
Own company prefix No Yes No No

Sources: GS1 US prices, GS1 Canada plans, checked October 2026. GetUPCCode current prices: UPC code price list.

Our codes come from UCC (now GS1) company prefixes licensed before August 28, 2002, so under the 2004 settlement they owe no renewal fees. You get the specific codes, not a company prefix. Each code is sold once and never resold. If you look one up in Verified by GS1 or GEPIR, you’ll see the original prefix licensee, not your brand.

Go direct to GS1 when you’re pitching retail chains, selling on Walmart, or building an Amazon brand where the listing must tie to your name in GS1 data. Retail chains often want GS1 codes in your own company name, and Walmart’s seller onboarding asks for GS1 company prefix codes. For a single product in the US, the $30 GS1 US single GTIN is hard to beat.

A reseller code fits when you sell on eBay, your own Shopify store, Google Shopping, or with distributors and small shops that just need a scannable, unique number. It also fits when you need many codes fast for internal inventory. Our page on where to buy UPC codes compares the options in more depth.

Mistakes that break UPCs

Most UPC problems we see are self-inflicted. These five cause the bulk of them.

  1. Losing leading zeros in Excel. A code like 012345000058 becomes 12345000058, which is 11 digits and fails every check. The GS1 General Specifications say leading zeros in a GTIN-12 are part of the prefix and must be preserved. Format the column as text before you paste codes in.
  2. One code for every size. Marketplaces merge the variants or reject them. Assign a code per size, color and pack count.
  3. Picking the wrong ID type. GS1 Australia’s Amazon FAQ says the “invalid” error is usually due to not selecting EAN as the product ID type. A 13-digit code goes in as EAN, a 12-digit code as UPC.
  4. Reusing a code from a retired product. Old listings, reviews and retailer records still point to that number.
  5. Using numbers from a free generator. A made-up number may pass the check digit, but nobody licensed it, and it may already belong to someone else’s product.

Frequently asked questions

Is a UPC the same as a barcode?

Not quite. The UPC is the 12-digit number, a GTIN-12 in GS1 terms. The barcode is the printed bars that let a scanner read that number. People use the words interchangeably, and marketplaces asking for a “UPC” want the 12 digits. You can create the barcode image from the number at any time with a barcode generator.

Does a UPC code contain the price?

No. A UPC holds a company prefix, an item reference and a check digit, nothing else. When a cashier scans it, the store’s point-of-sale system looks up the price it has stored against that number. GS1 US describes the GTIN as a key used to retrieve prices and product attributes from a database.

Do the first digits of a UPC show the country of origin?

No. GS1 states that its prefix does not show the country of origin. The opening digits show which GS1 member organization licensed the number block, and the product could be made anywhere in the world. A UPC starting with 0 can belong to a factory in China, Mexico or Ohio.

What is the difference between UPC and EAN?

A UPC-A carries 12 digits and is used mainly in the US and Canada. An EAN-13 carries 13 digits and is used in most other countries. Any UPC becomes a valid EAN-13 by adding a zero in front, with the same check digit. GS1 US says both formats work internationally, so one code covers both.

Do UPC codes expire?

The number itself doesn’t expire, and GS1 rules say it should never be given to a different product. What can lapse is the license. GS1 US company prefixes carry an annual fee, while a GS1 US single GTIN has no renewal fee. Reseller codes from pre-2002 prefixes carry no yearly fee either.

How many UPC codes do I need?

One for every distinct product variant you sell. Count each size, color, flavor and pack size separately. A T-shirt in 3 colors and 4 sizes needs 12 codes. If you also sell a 3-pack, that pack needs its own code, and so does any case you sell to wholesale buyers.

Can I make up my own UPC number?

No. A made-up 12-digit number may pass the check digit by luck, but nobody licensed it, and it may already belong to another company’s product. Google Merchant Center tells sellers never to guess or invent a GTIN. Get codes from GS1 or from a reseller that sells each code only once.

Leave a Reply

Your email address will not be published. Required fields are marked *