No. A SKU is a code you make up for your own catalog, so it only means something inside your business. A UPC is a 12-digit number licensed through GS1 that identifies the same product at every store, marketplace and warehouse that scans it. If you sell in stores that scan at checkout, or on Amazon in a category that requires a GTIN, you'll usually end up with both: a UPC printed on the package for retailers and marketplaces, and a SKU as the name of each item in your store, your inventory system and your 3PL's warehouse. A brand that sells only on its own site, or only on Amazon under a GTIN exemption, can do without UPCs.
The definitions are the easy part. The questions that cost sellers time are which code goes on the box, what the warehouse scans, and what to do with a bundle or a private-label product that has no UPC at all.
SKU | UPC | |
|---|---|---|
Who creates it | You (or each retailer, for its own catalog) | GS1 issues your company prefix; you assign the item number |
Format | Any letters, numbers and dashes you choose | Exactly 12 digits |
Cost | Free | A paid GS1 license |
Where it's unique | Only inside one business | Everywhere the product is sold |
Can you change it? | Yes, though renaming one can break reporting and integrations | No; it stays tied to that product |
Printed as | A Code 128 label, if it's printed at all | A UPC-A barcode on the retail package |
What a SKU is, and what it isn't
A SKU (stock keeping unit) is the internal name for one sellable item: one size, one color, one pack count. "TEE-BLK-M" is one example, and the SKU glossary entry covers the basics. There's no required length or format. Advice like "SKUs are 8 to 10 characters" describes a convention, not a rule.
Because SKUs are internal, they aren't universal. GS1 US notes that a SKU is created by a specific brand or retailer, so two stores selling the same product under the same UPC will each give it their own SKU. Your SKU means nothing to Amazon's catalog or a retailer's register. It matters to you, your sales channels and whoever holds your inventory.
A good SKU is readable at a glance and stays the same once it's live. You can rename one later, but your sales history, channel listings and 3PL records all key off it. If you're setting up a catalog, how to make SKUs for your products walks through naming conventions.
What's actually inside a UPC
A UPC-A barcode carries a 12-digit GTIN-12, and the 12 digits break into three parts. The first 6 to 10 are your GS1 company prefix, the next digits are an item number you assign as the brand owner, and the last is a check digit calculated from the rest. GS1 says each variation, such as a different size or flavor, gets its own item number.
Two things a UPC doesn't do. It doesn't hold a price: GS1 explains that scanning it lets the store's system identify the item and look the price up. And the store doesn't issue it. The brand owner licenses the numbers and assigns them, and every retailer that carries the product reads the same code.
There are two ways to get codes from GS1 US. A single GTIN suits a brand with only a few products. A GS1 company prefix gives you a block of numbers for a growing catalog, plus case and pallet levels, and it renews annually. GS1's get-started guide lists current prices for both.
You'll also see EAN-13, the 13-digit version used mostly outside North America. GS1 treats UPC and EAN as members of the same GTIN family, so the difference rarely matters to a US seller.
Do you need a SKU, a UPC, or both?
Give every sellable item a SKU once you're tracking stock across channels or storing it with a warehouse, because inventory counts, reorders and warehouse records are kept per SKU.
Whether you need a UPC depends on where you sell:
- Only on your own website: your store doesn't need a UPC to take orders, so SKUs alone can work.
- On Amazon: for most categories, Amazon requires a GTIN such as a UPC to create a new listing.
- In a store that scans at checkout: GS1 describes the UPC as the code scanned at the point of sale, so expect a retail buyer to ask for one.
If wholesale or Amazon is likely within a year, licensing UPCs before your packaging goes to print saves you stickering over it later.
What the warehouse scans
Every product scan in a warehouse has to resolve to exactly one SKU. In a scan-based warehouse, units are scanned when inventory is received and again when an order is picked and packed, which is how a wrong size or color gets caught before it ships. If two variants share a barcode, or a variant has none, that check stops working.
When a product already carries a correct UPC, the warehouse system can map that barcode to your SKU, so the retail barcode doubles as the scan code. You need your own SKU barcode in the cases where a UPC can't do that job:
- Products with no UPC yet: handmade goods, private-label products that never got a GTIN, or items sold only on your own site.
- Bundles and kits: a gift set built from three products has no UPC of its own unless you assign one.
- Bad supplier codes: a UPC that's duplicated across sizes, or one that's registered to a different product.
- Bins and locations: shelf and bin labels are internal by definition.
For these, a Code 128 barcode works because it can hold letters, numbers and dashes. A UPC-A barcode can only hold a 12-digit GTIN, so it can't carry a SKU like "TEE-BLK-M". Our free SKU barcode generator prints Code 128 labels for your own SKU values on thermal or Avery sheets, up to 120 per PDF. It can also draw a UPC-A barcode, but typing digits into it doesn't create a registered GTIN. Retail UPC numbers still come from GS1.
If you're getting ready to hand inventory to a 3PL, check that every variant has one scannable code and that the code on the unit matches the SKU on your packing list. Our ecommerce fulfillment page explains how onboarding works, and brands with deep size and color runs may want the high-SKU fulfillment page.
Amazon: UPC, ASIN and FNSKU
Amazon adds two codes of its own.
The UPC (or another GTIN) is what you enter to create a listing. Amazon checks UPCs against the GS1 database and tells sellers to get them directly from GS1, not from third parties reselling UPC licenses. Listings with invalid UPCs are removed. If your product has no barcode, Amazon offers GTIN exemptions for private-label, handmade, bundled and generic products. You can't use an exemption for a product that already has a GTIN.
The ASIN is Amazon's catalog number for the product page. It identifies the listing, not the physical unit. What an ASIN is explains how it's assigned.
The FNSKU is Amazon's fulfillment label for units stored in its warehouses. For inventory shipped on or after March 31, 2026, a brand owner with the Brand Representative role in Amazon Brand Registry can send units that already carry an eligible manufacturer barcode without Amazon stickers. Resellers must put an Amazon barcode on every unit, even when the product already has a UPC, and a product with no manufacturer barcode needs an Amazon label no matter who sends it. What an FNSKU is on Amazon covers who has to label and how.
So an Amazon seller can end up with three codes for one product: a UPC from GS1, a SKU you choose and an FNSKU from Amazon. The UPC says what the product is, the SKU is how you track it, and the FNSKU tells Amazon whose unit it's holding.
