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.
| Part | Digits | What it means |
|---|---|---|
| Company prefix | 614141 | The brand owner, licensed through GS1 |
| Item reference | 23456 | One product, numbered by its owner |
| Check digit | 1 | Calculated 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.
| Step | Working | Result |
|---|---|---|
| Add the digits in odd places (1st, 3rd, up to the 11th) | 6 + 4 + 4 + 2 + 4 + 6 | 26 |
| Multiply by 3 | 26 × 3 | 78 |
| Add the digits in even places | 1 + 1 + 1 + 3 + 5 | 11 |
| Add the two | 78 + 11 | 89 |
| Subtract from the next multiple of ten | 90 − 89 | 1, 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.
| Code | Digits | Who issues it | Where it is used |
|---|---|---|---|
| GTIN | 8, 12, 13 or 14 | GS1 offices | The family name for the codes below |
| UPC-A | 12 | Mainly GS1 US | Packaged goods in North America |
| UPC-E | 8 shown | The same as UPC-A | Small packs: a UPC with its zeros squeezed out |
| EAN-13 | 13 | Each country's GS1 office | Packaged goods in most countries, Africa included |
| ISBN | 13 | ISBN agencies, inside GS1's prefixes 978 and 979 | Books |
| SKU | Any length you choose | You | Inside your own business only |
| ASIN | Letters and numbers | Amazon | Amazon'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.
| Country | Prefix | Country | Prefix |
|---|---|---|---|
| South Africa | 600 to 601 | Kenya | 616 |
| Ghana | 603 | Cameroon | 617 |
| Uganda | 605 | Côte d'Ivoire | 618 |
| Morocco | 611 | Tanzania | 620 |
| Nigeria | 615 | Egypt | 622 |
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.
| Country and office | How you apply | Published fees |
|---|---|---|
| Uganda: GS1 Uganda, prefix 605 | Become 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 616 | Register 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 615 | Register 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 601 | Apply 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.
| Line | South Africa (rand, excluding VAT) | Nigeria (naira) |
|---|---|---|
| Band that fits 9 numbers | 10 numbers | 6 to 10 numbers |
| First year | 1,964 to join + 433 licence = 2,397 | 95,000 |
| Each later year | 433 | 25,000 |
| Three years | 2,397 + 433 + 433 = 3,263 | 95,000 + 25,000 + 25,000 = 145,000 |
| An 11th product | A 100-number licence: R6,823 to join, R2,409 a year | Additional 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.
| If you | You need | Why |
|---|---|---|
| Make or pack goods that supermarkets or chains will stock | GS1 numbers, printed as EAN-13 | Their tills scan the maker's number |
| Export packaged goods | GS1 numbers | Customs and foreign shops work with them |
| List products on a large online marketplace | GS1 numbers, in most cases | GS1 Kenya counts global e-commerce platforms among the buyers that ask |
| Resell branded goods in your shop | None: scan the makers' codes | The barcode is already on the pack |
| Sell loose, weighed or repacked goods in your own shop | Your own codes | Nobody outside the shop scans them |
| Sell your own brand only in your shop or on your own website | Your own codes, for now | Get 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.
- 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).
- 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).
- 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.
- 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).
- 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.