What Is a UPC Code? UPC vs EAN, and How to Get One in Africa

A seller scans the barcode label on a white parcel with a phone that shows the code and a price

A UPC code is the 12-digit number printed under the barcode on most packaged goods sold in the United States and Canada. GS1, the standards body behind product barcodes, licenses it to the brand owner. The rest of the world mostly prints the 13-digit EAN version of the same system, and scanners read both.

Below: what each digit means, how a UPC differs from an EAN, and what GS1 codes cost in Uganda, Kenya, Nigeria and South Africa. It ends with when a shop needs none.

What is a UPC code?

A UPC code, short for Universal Product Code, names one product in every shop that sells it. A 500 ml bottle of one brand's mango juice has one UPC, and its 1 litre bottle has another.

The number identifies the product, not the unit: every 500 ml bottle of that juice carries the same code. The till knows what it is and its price, not which bottle it is. Telling units apart takes a serial number, as serial and lot numbers explains.

Each version you sell needs its own code: every size, flavour, colour and pack. GS1 Kenya states the rule plainly: every distinct product or variation requires its own number.

GS1 keeps every number unique worldwide, so any shop's system can look the product up. Barcodes are weighed against RFID tags, cost included, in RFID vs barcodes.

What the 12 digits of a UPC code mean

A UPC has three parts: the company prefix GS1 licenses to the brand owner, an item reference per product, and a check digit. The prefix and the item reference always fill 11 digits together.

The prefix is not always 6 digits, as many guides say. GS1 issues company prefixes of 4 to 12 digits. A shorter prefix leaves more digits for products, so it suits a company with more of them.

GS1's example UPC, 614141234561, read with a 6-digit company prefix
PartDigitsWhat it means
Company prefix614141The brand owner, licensed through GS1
Item reference23456One product, numbered by its owner
Check digit1Calculated from the other 11 digits

How the check digit catches a wrong number

The check digit lets a scanner test whether the other 11 digits were read correctly. GS1's method multiplies the digits by 3 and 1 in turn, adds the results and subtracts the total from the next multiple of ten.

Working out the check digit of 614141234561
StepWorkingResult
Add the digits in odd places (1st, 3rd, up to the 11th)6 + 4 + 4 + 2 + 4 + 626
Multiply by 326 × 378
Add the digits in even places1 + 1 + 1 + 3 + 511
Add the two78 + 1189
Subtract from the next multiple of ten90 − 891, the check digit

Now suppose the 3 in the eighth place is misread as an 8. The even places then add to 16, the total becomes 94, and the check digit should be 6. The code ends in 1, so the scanner rejects the read instead of ringing up the wrong product.

The check catches every single wrong digit. Of the common slips, it misses only one: two neighbouring digits swapped when they differ by 5, such as 1 and 6.

Typing gets no such check, one reason scanning beats it, as how barcodes and QR codes reduce human error shows.

UPC vs EAN vs GTIN, and the other codes

GTIN, the Global Trade Item Number, is the family name; a UPC and an EAN are two formats of it. A UPC-A is a 12-digit GTIN used mainly in North America, and an EAN-13 is a 13-digit GTIN used across most of the world.

They are one number system. On its company prefix page, GS1 says a 12-digit GTIN is read with an implied zero in front. So 614141234561 is also the EAN-13 0614141234561, with the same check digit.

GS1 also says both formats are accepted globally, although a retailer's own buying guide may ask for one. Ask the buyer before you print packaging.

Product codes compared
CodeDigitsWho issues itWhere it is used
GTIN8, 12, 13 or 14GS1 officesThe family name for the codes below
UPC-A12Mainly GS1 USPackaged goods in North America
UPC-E8 shownThe same as UPC-ASmall packs: a UPC with its zeros squeezed out
EAN-1313Each country's GS1 officePackaged goods in most countries, Africa included
ISBN13ISBN agencies, inside GS1's prefixes 978 and 979Books
SKUAny length you chooseYouInside your own business only
ASINLetters and numbersAmazonAmazon's own catalogue, given to each product it lists

A SKU is the code you control, and it can sit in the same barcode a scanner reads. How to build clean ones is in SKU management.

Does a barcode's prefix show where a product was made?

No. The first three digits of an EAN-13 show which GS1 office licensed the number, not where the product was made. GS1 states that its prefixes "do not identify the country of origin for a given product".

Each African GS1 office has its own prefix. A tralac factsheet on barcodes in Africa lists them, and GS1's own list agrees.

GS1 prefixes in Africa
CountryPrefixCountryPrefix
South Africa600 to 601Kenya616
Ghana603Cameroon617
Uganda605Côte d'Ivoire618
Morocco611Tanzania620
Nigeria615Egypt622

Uganda shows why a prefix is not a flag. New Vision reported in July 2025 that for years "Ugandan exporters relied on barcodes from Kenya, Tanzania and South Africa". Those goods were still made in Uganda.

Uganda now has its own office. GS1 Uganda's site gives 2024 as the year it was set up, and its numbers start with 605.

How to get UPC or EAN codes in Africa

You license GS1 numbers from your own country's GS1 office, not from GS1 US. You pay to join, then a yearly fee to keep the licence, and you number your products from your company prefix.

An African office issues EAN-13 numbers under its own prefix. In-store numbers aside, every 12-digit UPC falls in prefixes GS1 assigns to GS1 US, but an EAN-13 does the same job at any till.

Getting GS1 numbers in four countries, from each office's own page (checked October 2026)
Country and officeHow you applyPublished fees
Uganda: GS1 Uganda, prefix 605Become a member: email [email protected] or call +256 766 330289. The office is at Farmers House, Parliamentary Avenue, Kampala.None on its site: ask for the fee table
Kenya: GS1 Kenya, prefix 616Register online with the certificate of registration, a CR12 or CR13 under 6 months old and the trade licence. Add the company's and the director's KRA PINs, the director's ID, proof of address and a product list.A one-off joining fee and a yearly licence fee, both set by annual turnover; amounts are in its membership forms
Nigeria: GS1 Nigeria, prefix 615Register online. Only the brand owner may apply, and allocation takes 2 to 3 working days after the documents and payment.1 to 5 numbers ₦65,000, then ₦20,000 a year; 6 to 10 numbers ₦95,000, then ₦25,000; 11 to 20 numbers ₦105,000, then ₦35,000
South Africa: GS1 South Africa, prefix 600 to 601Apply through its website. Members make their barcodes in its GS1 Activate tool.10 numbers R1,964 to join plus R433 a year; 100 numbers R6,823 plus R2,409 a year; excluding VAT, 2026 to 2027 table

Six rules keep your codes valid, wherever you license them:

  • License from GS1, not a reseller. GS1 Kenya calls resellers a threat to the system, and a resold number stays registered to the company that first licensed it.
  • Renew the licence. GS1 Kenya says it licenses numbers "through annual subscription", so they stay yours only while you renew.
  • Count before you apply. GS1 Nigeria warns that the number of barcodes you apply for "cannot be changed later". Count every product and variant first.
  • Never reuse a number. GS1 Kenya says a GTIN must never go to a different item, even after the first one is discontinued.
  • Print where it scans. Put the code on a flat panel, away from seams, curves and shiny film, with dark bars on a light background.
  • Test the pack before the print run. GS1 Kenya asks members to send packaging samples for barcode verification before mass production.

GS1 South Africa also sells single numbers at R176. Its web page calls that a once-off fee while its fee table lists it as yearly, so ask before you choose it.

In a country with no GS1 office, the tralac factsheet notes, businesses license numbers through GS1's global office or a neighbouring office.

For example: what 9 codes cost a juice maker

Count the codes before you apply, packs included. GS1 Nigeria notes that a GTIN can identify any packaging level, from the single item to the case and the pallet.

For example, a juice maker sells mango, orange and pineapple juice in 500 ml and 1 litre bottles: 6 codes. It also sells the 1 litre bottles to shops by the carton of 12, so each flavour's carton needs a code too: 9 in all. The fees are each office's published fees; the maker is illustrative.

For example: 9 GS1 numbers over three years
LineSouth Africa (rand, excluding VAT)Nigeria (naira)
Band that fits 9 numbers10 numbers6 to 10 numbers
First year1,964 to join + 433 licence = 2,39795,000
Each later year43325,000
Three years2,397 + 433 + 433 = 3,26395,000 + 25,000 + 25,000 = 145,000
An 11th productA 100-number licence: R6,823 to join, R2,409 a yearAdditional barcodes, applied for in the member portal

The last row is the lesson: count the products you plan for the next two or three years, as well as today's. In South Africa, the 11th product moves the maker from a licence that costs R433 a year to one that costs R2,409.

When you need GS1 codes, and when your own codes do

You need GS1 numbers when someone outside your business will scan your product. GS1 Kenya names supermarkets, pharmacies, customs, wholesalers and global e-commerce platforms among them. A shop that only resells other makers' goods needs none.

Do you need GS1 numbers?
If youYou needWhy
Make or pack goods that supermarkets or chains will stockGS1 numbers, printed as EAN-13Their tills scan the maker's number
Export packaged goodsGS1 numbersCustoms and foreign shops work with them
List products on a large online marketplaceGS1 numbers, in most casesGS1 Kenya counts global e-commerce platforms among the buyers that ask
Resell branded goods in your shopNone: scan the makers' codesThe barcode is already on the pack
Sell loose, weighed or repacked goods in your own shopYour own codesNobody outside the shop scans them
Sell your own brand only in your shop or on your own websiteYour own codes, for nowGet GS1 numbers before a retailer asks, since new codes mean reprinted packs

Your own codes can't leave the shop, because no one else's system knows them. GS1 even reserves prefixes for that use. Its list keeps 020 to 029, 040 to 049 and 200 to 299 for numbers used inside one company or region.

Selling on your own website needs no GS1 number either. What matters there is one code per product across the website and the counter, as ecommerce inventory management explains.

How to use UPC and EAN codes in ArmPOS

ArmPOS uses each product's code as its scan code, whether that is a maker's UPC, an EAN-13 or a code you make.

  1. Scan the maker's code into the product. In Code Product on the product form, scan the barcode already on the pack. The code must be unique, so ArmPOS won't take the same number twice (Add your first products).
  2. Give each variant its own code. A juice in two sizes is one product with two variants, each with its own code. Variant codes must be unique across all products and variants (Products with variants).
  3. Make codes for loose and repacked goods. Click the barcode button beside Code Product to make a number. Barcode Symbology starts on Code 128, which takes letters as well as numbers.
  4. Print labels only where you need them. Products › Print Labels prints each product's name and a barcode of its code, with the price if Display Price is on. A product with its maker's barcode may need no label (Print barcode labels).
  5. Scan at the till and at receiving. A USB scanner types into the POS search, and an exact code with Enter puts the product in the cart. Scan uses the device's camera, and purchases have the same search box (The POS screen, Record a purchase).

The steps are the same for a shop in South Africa or anywhere else ArmPOS runs.

Frequently asked questions

Is a UPC code the same as a barcode?

No. The UPC is the number, and the barcode is the pattern of bars that lets a scanner read it. The same number can be printed as a UPC-A or, with a 0 in front, as an EAN-13.

Can I make my own UPC code?

Not a valid one. A number you make up may belong to another company, and GS1's records won't show you as its owner. Your own codes are fine for goods that never leave your shop.

How much does a UPC code cost in Africa?

It depends on the office and how many numbers you need. In October 2026, GS1 Nigeria listed ₦65,000 for up to 5 numbers, renewed at ₦20,000 a year. GS1 South Africa listed R1,964 plus R433 a year for 10, excluding VAT.

Do UPC codes expire?

Your right to use them lasts only while you renew the licence, every year in Kenya, Nigeria and South Africa. A number, once given to a product, is never given to a different one.

Count your products and variants, then decide which need GS1 numbers and which can carry your own codes. To scan makers' codes and print your own in one place, create a free ArmPOS account. The Starter plan is free, with no card needed, and the pricing page shows what each plan includes.