SKU, UPC, EAN, GTIN — retailers use these terms interchangeably, but they are not the same thing. Mixing them up leads to duplicate products, barcodes that scan the wrong item, and marketplaces rejecting your listings.
This guide explains what each identifier is, who issues it, how the barcodes differ, how check digits work, and how to set up product identification correctly in a store — with a comparison table and a list of common mistakes.
In this guide
- The short answer
- What is a SKU?
- What is a GTIN?
- UPC, EAN and the GTIN family
- How the check digit works (with an example)
- In-store and variable-measure barcodes
- Product labels and shelf labels
- Scanners and barcode types
- How to set up product identification in your store
- When a barcode won’t scan
- Common mistakes
The short answer
| Term | What it is | Who creates it | Unique where? |
|---|---|---|---|
| SKU | Stock-keeping unit: your internal product code | You (the retailer) | Only inside your business |
| GTIN | Global Trade Item Number: the official product number | The brand owner, under a GS1 licence | Worldwide |
| UPC | Universal Product Code: a 12-digit GTIN and its barcode (UPC-A) | Brand owner via GS1 | Worldwide |
| EAN | European Article Number: a 13-digit GTIN and its barcode (EAN-13); also 8-digit EAN-8 | Brand owner via GS1 | Worldwide |
In one sentence: GTIN is the number; UPC and EAN are the most common formats and barcodes that carry it; a SKU is your own internal code that can be anything you like.
What is a SKU?
A SKU is an identifier you create to track products in your own inventory. Two shops can sell the same can of soup under completely different SKUs. Because SKUs are internal, you can design them to be meaningful to your team — for example TEA-GRN-100 for 100 g of green tea.
Good SKU design rules
- One SKU per sellable variant (size, colour, pack size) that you need to count or price separately.
- Keep them short and unambiguous — avoid letters that look like numbers (O and 0, I and 1).
- Don’t encode things that change, such as price or supplier; use fields for those.
- Never reuse a SKU for a different product, even after the old one is discontinued.
A SKU is not automatically a barcode. If you want to scan an internal SKU, you print it as a barcode on your own labels — see barcode labels.
What is a GTIN?
The GTIN is the globally unique product number defined by GS1, the not-for-profit organisation that manages barcode standards. A brand owner licenses a GS1 Company Prefix from its national GS1 organisation and uses it to number its products. Retailers, marketplaces and distributors then use that number to identify the product everywhere.
A GTIN has three parts: the GS1 Company Prefix identifying the brand owner, an item reference chosen by the brand for each product, and a final check digit that lets scanners and systems detect typing or reading errors. GS1 guidance is that a materially changed product should receive a new GTIN, and that outer cases usually have a different GTIN from the individual consumer unit.
UPC, EAN and the GTIN family
| Number | Digits | Common barcode | Typical use |
|---|---|---|---|
| GTIN-12 | 12 | UPC-A (and compressed UPC-E) | Consumer products, mainly USA and Canada |
| GTIN-13 | 13 | EAN-13 | Consumer products worldwide |
| GTIN-8 | 8 | EAN-8 | Very small packages |
| GTIN-14 | 14 | ITF-14 or GS1-128 | Cases and cartons in the supply chain |
Modern POS scanners in most countries read both UPC-A and EAN-13. A 12-digit UPC can be represented as a 13-digit number by adding a leading zero, which is why systems often store GTINs as 14 digits padded with zeros. If your store sells imported and local goods, make sure your POS treats 036000241457 and 0036000241457 as the same product.
How the check digit works (with an example)
All GTIN lengths use the same mod-10 check digit. Starting from the rightmost data digit (excluding the check digit), multiply digits alternately by 3 and 1, add the results, and choose the check digit that brings the total to the next multiple of 10.
Example: the 12-digit UPC-A 03600024145? — find the last digit.
- Digits in odd positions from the right (0, 6, 0, 2, 1, 5): sum = 14, × 3 = 42.
- Digits in even positions from the right (3, 0, 0, 4, 4): sum = 11.
- Total = 42 + 11 = 53. The next multiple of 10 is 60, so the check digit is 60 − 53 = 7.
- Full code:
036000241457.
Another commonly used example: the first 12 digits 400638133393 give a weighted sum of 89, so the EAN-13 check digit is 1 (4006381333931). A scan that fails this test is rejected, which is why mistyped barcodes rarely match a wrong product.
In-store and variable-measure barcodes
Not every product comes with a GTIN. For items packed or weighed in the shop, GS1 reserves Restricted Circulation Numbers (RCNs) — for example 13-digit numbers starting with 02 or 20–29 — whose meaning is defined by the local GS1 organisation or by the company, not globally. They are commonly used for:
- Products weighed and priced in store (deli, meat, cheese, bulk foods) — where the barcode can contain a price or weight field according to local rules.
- Internal items such as bakery products made on site.
- Store coupons and vouchers, depending on local rules.
Because the layout of these codes varies by country and by retailer, check your local GS1 organisation’s rules and confirm what your POS and scales support before relying on weight- or price-embedded barcodes. For simple unbarcoded items, many small shops just print internal barcodes from their SKUs.
Product labels and shelf labels
| Label type | Barcode content | Purpose |
|---|---|---|
| Manufacturer packaging | GTIN (UPC/EAN) | Scan at checkout and receiving |
| Retailer product label | Internal SKU or in-store code | Items without a GTIN |
| Shelf-edge label | Often the GTIN or SKU plus price | Price display, replenishment scanning |
| Case / carton label | GTIN-14 (ITF-14 or GS1-128) | Receiving and warehouse handling |
Print labels from the same product record the till uses, so shelf price and checkout price can’t disagree. See barcode and price labels.
Scanners and barcode types
Most retail scanners read UPC-A, UPC-E, EAN-13 and EAN-8 out of the box. A few practical points:
- 1D vs 2D: linear scanners read classic barcodes; 2D imagers also read QR codes and GS1 DataMatrix, and screens on phones.
- ITF-14 and GS1-128 on cartons may need to be enabled in the scanner’s settings if you scan cases at receiving.
- Keyboard mode: most USB scanners type the digits into the active field followed by Enter.
For setup and troubleshooting, see the POS hardware setup checklist and the barcode scanner page.
How to set up product identification in your store
- Create a SKU for every sellable variant following your naming rules.
- Store the manufacturer GTIN on the SKU for every product that has one — scan it rather than typing it.
- Generate internal barcodes for products without a GTIN and print labels.
- Check for duplicates: no two SKUs should share a barcode.
- Test at the till: scan ten random products and confirm the right item and price appear.
- Record case GTINs separately if suppliers deliver in scannable cartons.
This identification layer underpins everything else in inventory management — see the retail inventory management guide and inventory management.
When a barcode won’t scan
- Check the symbol: damaged, wrinkled or poorly printed barcodes are the most common cause. Try a different angle or a 2D imager.
- Check the scanner settings: some symbologies (for example ITF-14 or GS1 DataMatrix) may be disabled by default.
- Check the product record: the barcode may not be stored on any SKU, or stored with a missing leading zero.
- Type the number as a fallback, then fix the record so the next scan works.
- Relabel the product with an internal barcode if the printed one is unreadable.
Common mistakes
| Mistake | Consequence | Fix |
|---|---|---|
| Using the same barcode for several variants | Wrong variant sold; stock errors | One GTIN or internal code per variant |
| Typing GTINs by hand | Transposed digits, unscannable records | Scan to enter; rely on the check digit |
| Buying “cheap barcodes” from resellers for your own brand | Codes may not be licensed to you; marketplaces may reject them | Obtain a GS1 Company Prefix from your national GS1 organisation |
| Treating SKU and GTIN as the same field | Imports overwrite one with the other | Keep separate fields for SKU and barcode |
| Ignoring leading zeros | UPC and EAN versions of the same product don’t match | Normalise lengths in your system |
| Reusing old codes for new products | Historical reports become misleading | Retire codes; create new ones |
Try scanning your own products into a POS — the free edition supports barcode scanning and label printing, with demo data to start.
Frequently asked questions
What is the difference between a SKU and a UPC?
A SKU is an internal code you create for your own inventory. A UPC is a 12-digit GTIN issued under GS1 standards that identifies the product worldwide and is printed as a UPC-A barcode.
Is an EAN the same as a GTIN?
An EAN-13 is the 13-digit form of the GTIN and its barcode symbol. GTIN is the umbrella term that also covers 8-, 12- and 14-digit numbers.
Do I need GTINs for my products?
If you sell your own brand through other retailers or marketplaces, they usually require GTINs licensed through GS1. For items sold only in your own shop, internal barcodes based on your SKUs are often enough.
Can one product have both a SKU and a GTIN?
Yes, and it usually should: the SKU for your internal management and the GTIN for scanning and external identification.
How do I check if a barcode number is valid?
Recalculate the check digit using the alternating 3-1 weighting described above, or use GS1’s official check digit calculator.
Related guides
- Retail inventory management guide
- POS hardware setup checklist
- Inventory cycle counting
- Retail store operations guide
