GTIN vs UPC vs EAN vs ASIN: product identifiers, mapped
Who assigns each product code, and how to match the codes in your retailer and distributor files back to one GTIN.

By Christopher Kong / October 29, 2026 / 13 min read
A GTIN is the product number GS1 licenses to a brand, and UPC and EAN are just its 12-digit and 13-digit forms. An ASIN is a separate code Amazon assigns inside its own catalog. The trouble starts in your sales data, where Walmart, Tesco and UNFI add their own item numbers, so one product turns up under several codes until someone matches them back to one GTIN.
| Identifier | Who assigns it, and its length | Where you'll see it |
|---|---|---|
| GTIN (Global Trade Item Number) | GS1 licenses the prefix, and the brand assigns the number. 8, 12, 13 or 14 digits. | Every retail and supply chain system. It's the one key they all share. |
| UPC (GTIN-12) | Same GS1 system. 12 digits. | Barcodes on packs sold in the US and Canada. |
| EAN (GTIN-13) | Same GS1 system. 13 digits. | Barcodes on packs sold outside North America. |
| GTIN-14 (case code) | The brand, from its GS1 prefix. 14 digits. | Cases and shippers in distributor and warehouse files. Not scanned at checkout. |
| ASIN | Amazon. 10 letters and digits. | Amazon listings and Amazon reports only. |
| SKU or retailer item number | Whoever holds the stock: you, Walmart, Tesco, UNFI, KeHE. No standard length. | That company's own files and portals. |
Use the GTIN as your master key. You'll meet the ASIN only on Amazon, and a retailer's or distributor's item number only in that company's files, where it has to be matched back to your GTIN.
What is a GTIN?
A GTIN (Global Trade Item Number) is the number that identifies a product in trade, licensed to brands by the standards body GS1. It comes in four lengths: GTIN-8, GTIN-12 (the UPC), GTIN-13 (the EAN) and GTIN-14 for cases. Every system stores the number, and the barcode is how a scanner reads it.
GS1 runs the numbering system worldwide. It licenses each brand a company prefix, and the brand gives each product its own number under that prefix. In the US, one GTIN from GS1 US costs $30 with no renewal fee. A prefix for up to 10 products costs $250, plus $50 a year.
Each length has its own job:
- GTIN-8: small items, mostly outside North America, where a full barcode won't fit.
- GTIN-12: used mostly in North America and scanned at the checkout.
- GTIN-13: used mostly outside North America. It's the same number as the EAN.
- GTIN-14: identifies a case or a set pack. It isn't meant to be scanned at the checkout.
To find a GTIN, read the digits printed under the barcode on the pack. For your own products, every GTIN you've assigned is listed in your GS1 account. An EAN is found the same way, since it's just the 13-digit GTIN.
Every pack size and every flavor gets its own GTIN. So does the case it ships in. That's why the GTIN is the first thing to look for in any set of sales files. It's the only product key that every retailer, distributor and marketplace can agree on, which is why the rest of this guide matches everything back to it.
GTIN vs UPC vs EAN: one number in three lengths
UPC and EAN are two lengths of the same GS1 number system. They differ on three things: how many digits they carry, where the barcode gets scanned, and what the first digits mean.
A UPC is a GTIN-12. GS1 US says the GTIN-12 "is synonymous with UPC and is the only GTIN type that can be encoded in the UPC-A barcode." So when someone says "the UPC," they nearly always mean the 12-digit GTIN on a pack sold in the US or Canada.
An EAN is a GTIN-13, used on packs sold almost everywhere else. Its first three digits name the GS1 office where the brand registered. They don't tell you where the product was made.
The last digit of every GTIN is a check digit. It's calculated from the other digits, so a scanner or a system can catch a typo. That matters later, because some files drop it.
Here's one product written all three ways. It's still one GTIN:
| Form | Digits | Value |
|---|---|---|
| UPC (GTIN-12) | 12 | 012345678905 |
| EAN form (GTIN-13) | 13 | 0012345678905 |
| Stored as GTIN-14 | 14 | 00012345678905 |
Should I use a UPC or an EAN?
Use whichever your retailers accept, and that comes down to where you sell. For US and Canadian retail, the 12-digit UPC is the norm, and most US brands get a GTIN-12 from GS1 US. Selling in Europe usually doesn't need a second set of numbers, because a UPC can also be written as a 13-digit number with a leading zero. For example, the UPC 012345678905 becomes 0012345678905. Check each retailer's item setup rules before you print.
Can you convert an EAN to a UPC?
Only if the EAN starts with 0. Drop the leading 0, and the 12 digits left are the UPC. An EAN that starts with any other digit has no 12-digit form, so you can't turn it into a UPC. You'd need a GTIN-12 from GS1 US.
How ASIN and SKU differ from a GTIN
An ASIN and a SKU both look like product numbers, but only the GTIN means the same thing to every company. Three questions show the difference: who assigns it, where it's unique, and whether another company can read it.
ASIN: Amazon's catalog number
An ASIN (Amazon Standard Identification Number) is a 10-character code Amazon assigns when a product is first created in its catalog. It's unique only within one Amazon marketplace, so the same product can have a different ASIN in the US and the UK. For books, the ASIN is the 10-digit ISBN.
The ASIN doesn't replace your GTIN. Amazon usually asks for a GTIN to create a listing, and then assigns the ASIN on top. It does grant GTIN exemptions for some brands and categories. To anyone outside Amazon, though, the ASIN means nothing, which is why your Amazon sales report won't line up with your retailer data until each ASIN is mapped to a GTIN.
SKU: your own internal code
A SKU (stock keeping unit) is any code a company makes up to track its own stock. It follows no standard, has no fixed length, and is unique only inside that one company. Walmart can't read your SKU, and you can't read Walmart's.
So SKU and GTIN aren't the same thing. Your SKU is for your warehouse and your ERP, and the GTIN is for everyone else. Every company that handles your product gives it a SKU of its own, and that's where sales data gets messy.
Why one product shows up under five codes in your sales data
At Wild, one of our customers, no two feeds used the same code. As the Wild case study puts it: "Tesco knows a line by its TPNB, Sainsbury's by an item code, dunnhumby by its own product hierarchy. The same deodorant stick turns up under a different name in every feed, and a starter pack in one system is filed as a refill in the next." Before Corvera, someone reconciled those names by hand every week. Our mapping engine then "matched every retailer's product codes back to Wild's canonical product list."
Three things usually turn one product into several rows.
Retailers add their own item numbers
Big retailers key their systems on their own codes. Walmart gives every item a Walmart Item Number (WIN) and links it to your GTIN. Tesco tracks each line by its TPNB.
Some retailer files also change the GTIN itself. Walmart's supplier help describes the WUPC, a 13-digit code Walmart uses only internally, with no check digit. So a Walmart file might show 0001234567890 for the product whose GTIN is 00012345678905. A plain lookup misses it, because the check digit is gone.
Distributors add case codes and product codes
Distributors mostly order and ship your product by the case. Crisp's documentation for UNFI Insights says UNFI ships products "in cases, sleeves, shippers, and eaches," and "a single product can appear under multiple case packs." Each case pack has its own GTIN-14, so one product can show up as several rows in a distributor report.
UNFI also has its own product codes, and some items carry no UPC at all. Crisp's notes add: "The UPC could also be generated by UNFI and not meaningful to the customer." KeHE uses its own item codes alongside the UPC as well.
Spreadsheets drop zeros and check digits
Even a clean GTIN can break as it moves between systems. Open a file in Excel, and 012345678905 becomes the number 12345678905, one digit short. Some portals export 12 digits, some 13 and some 14. Some include the check digit, and some don't.
The same product carries a different code in each system, and only the GTIN is shared by all of them.
The result is that one product gets split across several rows, and so do its sales, velocity and distribution. A gap stays hidden until the codes are matched. At CLEAN Cause, another of our customers, Jon's team worked one out by hand from portal exports: "In one of their larger accounts, a 150-store chain, only two of their thirteen SKUs were reaching the shelf." Our SKU coverage card had already flagged it. It could count all 13 products across the chain because every report in Corvera reads the same mapped product list.
How to line up identifiers across retailer and distributor files
You need one thing before you start: your own product list, with each item's unit GTIN and its case GTIN-14 side by side. Every step below builds on that list.
- Store every identifier as text. Format the column as text before you paste or import, so leading zeros survive. Make it a rule for anyone on the team who touches a retailer export.
- Normalize valid GTINs to 14 digits. Check the field's format and check digit first, then add zeros on the left until the GTIN is 14 digits long. GS1 US recommends storing every GTIN this way, in a 14-digit field filled with zeros on the left. Then 012345678905 and 0012345678905 both become 00012345678905, and they match.
- Add back missing check digits. Where a file drops the check digit, as Walmart's WUPC does, calculate it before you match. GS1 publishes a free check digit calculator.
- Map each case GTIN-14 to its unit GTIN. A case of 12 might be 10012345678902, and the unit inside is 00012345678905. Link the two, so case shipments and unit sales land on one product.
- Keep a crosswalk for every retailer and distributor code. A crosswalk is a table that lists each outside code (WIN, TPNB, UNFI product code, KeHE item code, ASIN) next to your GTIN. Add a row as soon as a new item is set up with a retailer. Together with your product list, this gives you one record per product.
- Link old and new GTINs. When a pack change forces a new GTIN, add it as a new row that points to the old one, so the product's sales history carries over.
Start with a two-file check in a spreadsheet. Pull last week's sales file from two of your retailer or distributor portals and identify which columns contain GTINs. Normalize only valid GTINs to 14 digits, preserving them as text. Map ASINs, SKUs and retailer or distributor item numbers through a crosswalk instead of padding them. Review any unmatched rows against your product list: they may be missing mappings, incomplete codes or genuinely different products. An unmatched count shows what needs investigation, not how many products have been split.
This is the work our product data mapping does. It proposes the match for each name and code, with its source and a confidence score, and your team approves it once.
When a product needs a new GTIN
GS1's GTIN Management Standard sets the rules for when a change needs a new number. Your retailers or local regulations can be stricter, so treat these as the minimum.
Any change to the net content printed on the pack needs a new GTIN, up or down. So does a change of more than 20% in any of the pack's dimensions or its gross weight. If the number of units in a case changes, the case needs a new GTIN. GS1's own example is a case going from 9 items to 12.
Don't reuse an old GTIN for a different product, either. The old product's sales history is tied to that number, and a reused GTIN attaches it to the wrong item. Every new GTIN also becomes a new row in every retailer file, which is why step 6 above matters.
What changes with 2D barcodes in 2027
As of October 2026, GS1 US's Sunrise 2027 sets a target date: by the end of 2027, retail checkouts should be able to read 2D barcodes, such as QR codes with GS1 Digital Link and GS1 DataMatrix. During the change, packs can carry both the old barcode and the 2D code, each holding the same GTIN. GS1 US says UPC barcodes will still be accepted and scanned after 2027. Your product's GTIN stays the same, so the product key in your sales data doesn't change.
Before you close this tab, run that two-file test on your biggest retailer and your biggest distributor.
If you sell through distributors and this has sparked your interest, grab 30 minutes on my calendar and I'll show you what that looks like!
FAQ
Is a GTIN the same as a UPC?
A UPC is a GTIN-12, the 12-digit form used on packs sold in the US and Canada. GTIN is the name of the whole family, which also includes the 8-, 13- and 14-digit forms. The UPC is one of its four lengths.
Are SKU and GTIN the same thing?
No. A GTIN is licensed through GS1 and means the same product to every company. A SKU is a code a company invents for its own stock. It follows no standard and means nothing outside that company.
Do I need a GTIN to sell on Amazon?
Usually, yes. Amazon asks for a GTIN, such as a UPC or EAN, to create a new listing, and then assigns its own ASIN. It grants GTIN exemptions for some brands and categories. Amazon reports use the ASIN, so you'll need to map ASINs back to GTINs to compare Amazon sales with your retail data.
Why doesn't the UPC in my Walmart report match my GTIN?
Walmart has its own item numbers. Its supplier help describes the WUPC, a 13-digit code Walmart uses only internally, with no check digit. To match it, add the check digit back and pad the number to 14 digits with zeros. Then it lines up with your GTIN.
What is a GTIN-14 used for?
A GTIN-14 identifies a grouping of your product, like a case of 12 or a shipper. Distributors and warehouses order and receive by it. GS1 US says it's not intended to be scanned at checkout.
Are GS1 and EAN the same?
No. GS1 is the organization, and EAN is one of the number formats it manages.
Sources
- GS1 US, "What is a GTIN?"
- GS1 US, "Get UPC barcodes" (pricing, retrieved 14 October 2026)
- GS1 US, "An Introduction to the Global Trade Item Number (GTIN)", Release 2.1, July 2021
- GS1, GTIN Management Standard, "Declared net content"
- GS1, GTIN Management Standard, "Dimensional or gross weight change"
- GS1, GTIN Management Standard, "Pack/case quantity"
- GS1, Check digit calculator
- GS1 US, "What is GS1 Sunrise 2027?"
- GS1 US, Sunrise 2027 one-pager, "A New Dimension in Barcodes"
- GS1 US, "GS1 Digital Link: For Retailers"
- Wikipedia, "Amazon Standard Identification Number"
- Walmart Supplier One help, "Product Identifiers in the Catalog" (supplier login required)
- Crisp documentation, "UNFI Insights product updates" (September 2024 and February 2026 entries)
- Corvera, "Wild's category team runs on Corvera"
- Corvera, "CLEAN Cause runs and enhances its daily sales decisions on Corvera", by Christopher Kong, 18 August 2026
- Corvera, "Product data mapping"

Christopher Kong · Co-Founder & CEO, Corvera
Chris is the Co-Founder and CEO of Corvera. He works closely with consumer brand operators on the numbers their businesses actually run on: sell-through, category performance, cash, and more. He writes about category management and cash flow for CPG operators.