Barcodes are used to convey prices to the electronic cash registers in stores and are also used to help manage inventory. Each product or variation of product where inventory is tracked needs a barcode. If a manufacturer is selling t-shirts, they will need one for each design, color and size. The manufacturer either adds the barcode graphic to their artwork while designing their packaging artwork or they order barcode labels and affix a label to each one of the packages.

The manufacturer or distributor provides the information about the product(s) to the retailer and the retailer enters all of the information about the product into their inventory management system. This information includes the brand name, product name, any identifiers (size, color, weight, etc.), pricing information and the UPC barcode number. Every store maintains their own database of products and barcode numbers. There is no database that contains all products everywhere.

There is nothing embedded in a UPC or EAN barcode except for the numbers that are beneath the barcode. When they enter the info into their database, the numbers are associated with the product. When a barcode scanner scans the barcode, it turns the bars back into numbers and looks for the item associated with it.

There are a number of ways that the product information is communicated with the retailers, the retailer will let the supplier know how they want the information. Sometimes they will ask for a printed sheet with a list of items, sometimes they will want an excel spreadsheet that they can upload to their database. This all depends on the number of items and their level of technical requirements.

The information supplied gets entered into the computer that connects all of their POS systems (electronic cash registers). All of this is done at store level because there is no accurate and complete database of products, and if there was, it could potentially carry billions of items. That’s too much data for local stores to access, so, all stores only concern themselves with their inventory.

Sometimes retailers will ask for an additional barcode to the outside carton. They will refer to this as a Shipping Container Barcode or a GTIN-14.

A customer picks up the item to be purchased and heads to the check-stand.

The item is scanned and the point of sale system (cash register) requests information about  the product from the database. Once purchased, the Point of Sale system tells the database to subtract the number of items purchased.

The customer pays for the item and the transaction is complete.

Why do manufacturers put barcodes on products

UPC History and Background
The only types of barcodes that are managed by a large (worldwide) organization are UPCs/EANs and ISBNs since it is very important that there are no duplicates in the marketplace. Other types of barcodes such as Code 39, Code 128, etc. are all used as internal use barcodes by manufacturers and logistical companies.

The GS1, which used to be called the Uniform Code Council (UCC) is the provider of UPC barcode prefixes. A company goes to the GS1, they purchase the prefix and then are responsible for the self-assignment of the identification numbers that go after the prefix.

The Barcode prefix, the first 6, 7, 8 or 9 digits, is called a UPC Barcode Prefix. The company who has been assigned the UPC Barcode Prefix is responsible for the assignment of the next digits (making up a total of eleven digits) to their products.

Then, as the barcode number is designated, the last number is mathematically determined through an algebraic equation to create a checksum (check digit). This check digit is the final digit. When you join GS1, you get a prefix certificate along with your start-up package.

As far as we know, there are only a small handful of companies that require direct relationship with the GS1 including Kroger’s, Wal-Mart/Sam’s Club, JC Penny’s and Macy’s. The common denominator of these companies is that they are using the manufacturer prefix for their EDI (Electronic Data Interchange) and members of these 4-super big box retailers sit on the board of directors of the GS1.

Unless a manufacturer or distributor is specifically going to do business with these chains, they have the option of using a company that is legally able to subdivide their barcode prefix such as Nationwide Barcode.

Retailers input information from product data sheets filled out or given to them by their suppliers. The supplier gives the retailer the product information including the barcode based on the human readable numbers (12 digit UPC or 13 digit EAN) and the retailer enters it into their point of sale system.

There are no unified and formal centralized databases of product barcodes. Not including the checksum (the 12th digit), there are roughly 50,000,000,000 possible UPC barcodes. Not all of the number series are used for retail products, UPCs starting with 3 are used for pharmaceuticals, 4 is used as internal use, 5 are used for coupons and 9’s are used for both printed and digital books and the balance are currently reserved.

This, more than anything else, explains why there is no centralized database of products. No one has the bandwidth, energy or resources to catalog something this massive.

There is nothing programmed into a UPC or an EAN barcode. The bars only represent the number that is the barcode. The retailer associates these numbers with the product information. This information is pulled from the retailer’s database when a product is scanned.

You have two choices when you need to buy a barcode or block of barcodes. You purchase directly from the GS1 (They charge a minimum of $750.00 plus a yearly renewal fee) or you purchase a company like Nationwide Barcode ( Nationwide Barcode and similar companies received their prefixes in the 90’s or early 2000’s.

In 2002, GS1 attempted to codify the agreement with UPC Barcode prefix holders which included renewal fees. The codified agreement included rules that were in the form of a contract which included not being able to subdivide a barcode number. Prior to this, none of this existed.

The GS1 decided to change the way they were doing business. They started sending out renewal notices insisting that the prefix holders pay renewal fees and agree to the new terms and conditions.

Ultimately a class action suit was levied against the GS1 in the state of Washington and the GS1 lost. All prefix owners prior to August 28, 2002 became exempt to the GS1’s renewal fees and new codified agreement.

Quoting the UCC Settlement web site: 

This Settlement provides that companies who became members of UCC before August 28, 2002, are not obligated to pay membership renewal fees to UCC to maintain membership as a condition for their use of Company Prefixes issued to them by UCC, or as a condition for Basic Membership Benefits as defined in the Class Settlement Agreement. Class members who have paid a renewal fee to UCC are entitled to compensation from a $3,895,000 settlement fund. The settlement also provides that the “licensing agreement,” which accompanied UCC renewal fee invoices, is null and void as to those who became members in UCC before August 28, 2002. ** 

Quoting George Laurer, “Often I am asked if a person that purchases a number from a subset seller will have legal problems in the future. Again, I am not a lawyer, but if the number was originally assigned to the seller by the UCC before August 2002, the answer is no problem.”****

The decision to go with the GS1 or a UPC barcode reseller is a matter of economies of scale. GS1 charges an upfront fee and a yearly renewal fee based upon the number of barcode numbers that you need along with your company’s revenue. The more you make, the more the barcode prefix will cost you, and this amount can increase over time.

We believe that the GS1 is a great organization, they provide a tremendous service, however, for a small business with a limited budget, a Barcode Subdividing company makes the most sense.

* Text provided by Wikipedia and is available under the Creative Commons Attribution/Share-Alike License.


 *** (page on George Laurer’s website)

**** (George Laurer’s site)

***** Phil Peretz – Nationwide Barcode

Anatomy of the UPC and EAN



The barcode symbol has two parts:

1) The machine-readable bar code (the bars).

2) The human-readable number (the numbers below).

In this picture, the manufacturer identification number is the first six digits of the UPC number – (0)753182 in the image above. The next five digits — 95342 — are the item number. The GS1 supplies 7, 8 and 9 digit manufacturer numbers as well.  The last number 7, is the check digit.

The person that coordinates which barcode goes with which product is called a UPC coordinator. This person is responsible for assigning item numbers to products, making sure the same code is not used on more than one product, retiring codes as products are removed from the product line, etc.

Typically, every item that a manufacturer sells, in addition to every variation of the item, requires a different item code. Since the barcode is also used to track inventory, it is important to have a different barcode for each of these variations. Using shoes as an example, a man’s oxford shoe may come in Black, Brown, and Cordovan, each in sizes, 9, 10, 11, 12, 13 and 14. Each of these variations (3 colors x 6 sizes = 18 different products)

0:                Standard UPC number
1:                Reserved
2:                Random weight items (fruits, meat, vegetables, etc.
3:                Pharmaceuticals
4:                In store marketing for retailers (a store can set up unique barcodes for themselves, but n other store may use them)
5:                Coupons
6, 7,8         Standard UPC number
9:                Reserved

The Check Digit

The last digit of a UPC or EAN barcode is called a check digit.

This number lets the scanner (and the computer attached to it) know if the number was scanned properly or not. It is a very important part of the barcode.

The first 11 digits of a UPC barcode or the first 12 digit of an EAN barcode are a combination of the prefix and the numbers assigned to a particular product. The final check digit is a mathematical algorithm weaving through the first 11-digits.

The number at the far right is the check digit. In this case, it’s a 7. If you want to compute the check digit for a UPC-A Barcode in Excel, do the following:

Subtract the sum from the nearest equal or higher multiple of 10 (90 would be 90, 92 would be 100, etc.)

In this example the next highest multiple of 10 is 120. 120-113 = 7: 7 is the check digit.

There is no hidden data built into a barcode, there is no pricing information, there is no product information. The bars represent only the 12-digit number.

Are the UPC and EAN the same symbol?
The short answer is yes.

EAN = 0012345678905
UPC = (0)012345678905 or 012345678905

The GS1, the original source for barcodes, has created the confusion between UPC (Universal Product Codes) and EAN (European Article Numbers also called International Article Numbers). The UPC-A barcode was the original format for product barcodes. As demand in Europe, Asia and Australia started growing, country codes were added. (We have a list of country codes, see All about Barcodes table of contents). US and Canada have a country code of zero which is not printed under the barcode nor is it entered in US and Canadian Inventory and Point of Sale Databases.

If you look at the graphics (on the left), you will see they are exactly the same. The width of the bars and the width of the spaces between the bars are exactly the same. The only major difference is the placement of the numbers below (human readable numbers) which are there only as a back-up in case the barcode doesn’t scan properly and the information has to be manually entered into the point of sale system.

We have overlaid the UPC and the EAN graphics (symbologies) so you can see that the graphic is identical. The country code doesn’t appear beneath the barcode in a UPC since the GS1 didn’t grasp the importance of US and Canada indicating country codes. They felt that since the majority of products sold in both countries originate from importers, distributors or manufacturers in the US or Canada, they could forego the leading zero in the human readable numbers.

We still believe that if you are currently doing business in the United States and Canada exclusively, it is safer to order UPC barcodes for your products. Many retailers, especially smaller retailers may be using older accounting and inventory systems that only allow them to enter in 12 digit UPC numbers and not a 13 digit string. If this changes in the future, you can convert your 12 digit UPC to a 13 digit EAN by adding in the country code 0.  There is nothing on the horizon indicating that the US and Canada will ever switch over to EAN 13 barcodes.

This following information is used with permission from George Laurer – . Mr. Laurer is the inventor of the UPC barcode.

There seems to be considerable confusion concerning the difference and use of the U.P.C. code and EAN codes

“U.P.C. Version A” and “EAN-13” are and always have been 13 character symbols and the numbers themselves have always been 13 characters long. The U.P.C. (Version A) symbol and the EAN13 symbol are essentially one and the same. They both have the same number of bars and spaces.

* I have used the name UCC throughout to avoid confusion although it evolved to this name over many years. In 1975 it was called UPCC (Uniform Product Code Council).

The Origin of the UPC and EAN confusion

Article by George Laurer.

When I conceived the U.P.C. for the grocers in the U.S. only 12 digits were required including the check character. I designed a symbol in which the left half of the symbol was composed of “odd” parity characters and the right side was composed of “even” parity characters. Each printed character has two bars and two spaces and is made up of 7 modules. Odd parity simply means the printed representation of the numeric digit has an odd number of dark modules. Conversely even parity printed digits have an even number of dark modules.

The UCC* chose to call the U.P.C. a 10 character symbol and they chose to print only 11 of the characters in human readable form. The 10 characters identifying the manufacturer and item were printed below the bars. The “system number” character was printed halfway up the left side. Further, they chose to carry only 10 digits of the number in their files. The reason was both political and practical.

Before the symbol marking was considered, a well know consulting firm had been hired by the fledgling UCC to determine the number of digits needed to accomplish the goals of the grocery industry. Considering many factors, not the least of which was the limited power of computers of the day, a figure of 10 digits was recommended. It was a tough sell to convince the many groups involved that they would have to change whatever numbering system they were using to the new 10 digit number. Rather than admit that the consulting firm was wrong and so as not to open the number of digit argument again, the decision was to maintain that the U.P.C. was a 10 digit symbol and number. Another factor considered was that it was more difficult to key the EAN human readable that the U.P.C. human readable when the symbol did not scan. They fostered the illusion by requiring that the check digit be stripped at the scanner. The SN (system number) was necessary for in store processing but it was not needed in records transferred between systems. The illusion was reinforced by not printing the SN in line with the 10 product identifying digits and not printing the check digit at all.

After the U.P.C. had been in use several years, Europe recognized the usefulness of the U.P.C. but realized a 13th digit was needed to identify the many countries. I encoded the extra digit by encoding the left half of the symbol with 3 characters of even parity and 3 characters of odd parity and then arranging them in various patterns, each pattern representing a different country code. The scanner recognizes a series of digits as the right half of a symbol if the parity of the characters is all even and it recognizes the left half if it is composed of all odd OR if three characters are odd parity and three characters are even parity characters.

With the acceptance of the EAN in Europe it was understood that the U.P.C. was actually 13 digits because the parity pattern of the left half of all odd characters was assigned the value (or country flag) of “0”. I pointed out that the UCC only printed 11 of the 13 digits and carried only 10 digits in the system. The UCC continued the delusion by using the foolish argument that “0” means nothing and therefore could be ignored. On the other hand, the European’s were smart enough from the very outset to call the EAN symbol what it is, “EAN-13” and they printed all 13 characters. Systems in Europe carried all 10 country flags including 0 in their records and their systems could process both U.P.C. and EAN symbols and/or numbers. The U.S. groceries chains at the time were selling very few foreign goods and saw no reason to spend money modify their installed equipment. Although the U.P.C. was not widely accepted at that time, the UCC accommodated the foreign companies by issuing them U.P.C. numbers with the invisible country flag of “0”.

Although this was a burden on the European companies and was a waste of numbers since many European companies had both U.P.C. and EAN-13 numbers, it wasn’t until two decades later that something was done about this. In 1997 the Uniform Code Council, Inc announced project SUNRISE. This initiative required that all U.S. and Canadian companies must be capable of scanning and processing EAN-13 symbols, in addition to U.P.C. symbols, at point-of-sale by January 1, 2005. This has been completed, the UCC has changed its name to GS1 US, and they have taken the responsibility of controlling both U.P.C. and EAN numbers.

Simply put the U.P.C. and EAN-13 symbols and numbers are the same. Above is a U.P.C. symbol with its equivalent EAN-13 superimposed in red. One can see that the bars and space are the same, only the human readable is different. Note that the U.P.C. has evolved in that the check digit is now printed and also that the SN has been brought down in line with the other characters but the country flag is still not printed. I would expect that in the near future the human readable will also be changed to the EAN format.

Because there are more than 9 countries, the country flags have been further subdivided by using the next two digits for various uses and countries. The United States and Canada have the country flag 0 and subdivisions 000 thru 139. It is interesting to note that the publishing industry produces so many products that it is its own country called “Bookland” for number assignment purposes. Bookland has been given two subdivisions of the country flag 9. They are 978 and 979.

Used with permission – Gerorge Laurer –

–end of article by George Laurer.

Shipping Container Codes
A Shipping Container Barcode (also called a GTIN-14) is used on the outside of master cartons and is recommended or required by many mid-to large retailers who are automating their incoming inventory processes.

The symbology used to create the Shipping Container Barcode is called interleaved 2 of 5 (ITF). There are several differences between a UPC and a Shipping Container Code including the additional numbers, the symbology used and the use of bearer bars. There are two ways to create these codes – with the addition of a bar at the top and bottom of the barcode or a box surrounding the barcode. The image below shows the box.

The Barcode is comprised of 4 groups.

  1. Packaging Indicator. It is recommended that the first digit is 1 to 7.  If you have a container that has 12 and another container that has 36, you assign different numbers to each.  This is very flexible.
  2. The next number is a ZERO. This is required.
  3. The next 11 digits are the first 11 digits from the UPC barcode used for the item inside.
  4. The final (14th digit) is a check digit

Country Codes
UPC Barcodes DO NOT DISPLAY COUNTRY CODES and you cannot tell the country of origin from a barcode. You can only tell where the barcode prefix originated.

Barcode prefixes do not provide identification of origin for a specific product. They merely provide number capacity to different countries for assignment of barcode prefixes by the GS1.

UPC Barcodes do not show the leading zero. A UPC Barcode that starts with 7 would have a country code of 070 – 079 if it were encoded as a EAN.

Here is the current list of EAN country codes (13 digit GTIN-13s) 00 – 019 U.S. and Canada

020 – 029 Restricted Distribution
030 – 039 U.S. Drugs (see U.S. National Drug Code)
040 – 049 Restricted Distribution (MO Defined)
050 – 059 Coupons
060 – 099 U.S. and Canada
100 – 139 U.S.
200 – 299 Restricted Distribution
300 – 379 France and Monaco
380 Bulgaria
383 Slovenia
385 Croatia
387 Bosnia and Herzegovina
389 Montenegro
400 – 440 Germany (440 code inherited from old East Germany on reunification, 1990)
450 – 459 Japan
460 – 469 Russia
470 Kyrgyzstan
471 Taiwan
474 Estonia
475 Latvia
476 Azerbaijan
477 Lithuania
478 Uzbekistan
479 Sri Lanka
480 Philippines
481 Belarus
482 Ukraine
484 Moldova
485 Armenia
486 Georgia
487 Kazakhstan
488 Tajikistan
489 Hong Kong SAR
490 – 499 Japan
500 – 509 United Kingdom
520 – 521 Greece
528 Lebanon
529 Cyprus
530 Albania
531 Macedonia
535 Malta
539 Ireland
540 – 549 Belgium and Luxembourg
560 Portugal
569 Iceland
570 – 579 Denmark, Faroe Islands and Greenland
590 Poland
594 Romania
599 Hungary
600 – 601 South Africa
603 Ghana
604 Senegal
608 Bahrain
609 Mauritius
611 Morocco
613 Algeria
615 Nigeria
616 Kenya
618 Côte d’Ivoire
619 Tunisia
621 Syria
622 Egypt
624 Libya
625 Jordan
626 Iran
627 Kuwait
628 Saudi Arabia
629 United Arab Emirates
640 – 649 Finland
690 – 695 China, The People’s Republic
700 – 709 Norway
729 Israel
730 – 739 Sweden : EAN/GS1 Sweden
740 Guatemala
741 El Salvador
742 Honduras
743 Nicaragua
744 Costa Rica
745 Panama
746 Dominican Republic
750 Mexico
754 – 755 Canada
759 Venezuela
760 – 769 Switzerland and Liechtenstein
770 – 771 Colombia
773 Uruguay
775 Peru
777 Bolivia
779 Argentina
780 Chile
784 Paraguay
785 Peru
786 Ecuador
789 – 790 Brazil
800 – 839 Italy, San Marino and Vatican City
840 – 849 Spain and Andorra
850 Cuba
858 Slovakia
859 Czech Republic
860 Serbia
865 Mongolia
867 North Korea
868 – 869 Turkey
870 – 879 Netherlands
880 South Korea
884 Cambodia
885 Thailand
888 Singapore
890 India
893 Vietnam
896 Pakistan
899 Indonesia
900 – 919 Austria
930 – 939 Australia
940 – 949 New Zealand
950 GS1 Global Office: Special applications
951 EPC global: Special applications
955 Malaysia
958 Macau
960 – 969 GS1 Global Office: GTIN-8 allocations
977 Serial Publications (ISSN)
978 – 979 Bookland (ISBN) – 979 formerly used for sheet music
980 Refund Receipts
981 – 983 Common Currency Coupons
990 – 999 Coupons
Prefix 950 (GS1 Global Office) is used for special applications and bi-lateral agreements.