Overview

The EAN/UPC system is a worldwide product marking system that maintains uniqueness of every product manufactured globally that is sold at point of sale. There are two parts to the Universal Product Code (UPC). One is the symbology and the other is the coding system.  UPC is ubiquitous. When people think bar code, the image in their mind is a UPC symbol. It has been successfully employed in the retail industry in the United States and Canada since 1973. The UPC coding system is designed to uniquely identify a product and its manufacturer. There are two versions of a UPC code commonly used; Version A, Version E. A third version, Version D, was defined but never used successfully.

The European Article Numbering system (EAN) is a superset of UPC and was initially introduced in 1977.  EAN-13 is used worldwide for marking retail goods. It encodes 13 characters: the first two to three digits are flag characters which represent a country code, followed by 10 data digits and a checksum.  Since UPC codes are subsets of EAN codes, systems set up to use EAN can also use UPC. The reverse is not always true however.  Almost all scanners can auto-discriminate between EAN and UPC, but older host databases cannot accept the extra digit that is part of the EAN structure.  Therefore, in the US, it is not possible to use EAN codes yet.

Each country has a coding authority (or numbering association) that maintains a central database of the code assignments to manufacturers. The Uniform Code Council administers the UPC system for the United States. In Canada, the Product Code Council of Canada carries out the administration of manufacturers numbers. The EAN system is under the overall direction of the International Article Numbering Association, based in Brussels, Belgium. Each country using the EAN system maintains a separate Article Numbering Association.

EAN has two versions, EAN-13 and EAN-8, encoding 13 and 8 digits respectively. An EAN-13 symbol contains the same number of bars as UPC Version A, but encodes a 13 digit from the character set pattern of the left-hand 6 digits, in the same manner as the encodation of the check digit in a UPC Version E symbol.  The first two or three digits of an EAN symbol are called the country flag characters and identify the issuing country.

The actual UPC code is a 12-digit code. The first 6 digits represent the manufacturer of the labeled item. The UPC-A Code and the assignment of manufacturer ID numbers is controlled in the United States by the Uniform Code Council. The next 5 digits identify a specific product assigned by the manufacturer who is responsible for maintaining the uniqueness of their product line. The twelfth digit is a Modulo 10 checksum, based on the previous 11 digits of data. UPC is a fixed length, numeric, continuous symbology using four element widths.

The first digit of the UPC-A Code represents the number system as well as being part of manufacturer's identification. Number systems "0", "6" and "7" are assigned with the five digits to identify the manufacturer; others have special uses as follows:

UPC-E

UPC-E is a variation of the UPC-A symbol that is used only with number system 0. It has six explicitly encoded data digits, and an implicitly encoded seventh digit (check character). It is used for identifying products in small packages.

In addition to the requirement that the first digit of the barcode (number system) must be zero, there are four rules that determine what UPC codes can be printed using the compressed UPC-E format:

EAN-8

The EAN-8 symbol is smaller in size than EAN-13 like the UPC-E symbol is smaller than UPC-A. However, it does not encode the larger EAN-13 data structure by removing zeroes. It employs a smaller identification number that is assigned by EAN numbering organizations. Like the larger UCC/EAN-13 data structure, EAN-8’s may use various numbers of digits to identify the numbering organization or company.

2-Digit and 5-Digit Supplemental Codes for Periodicals and Books

EAN / UPC codes may be augmented with a two-digit supplemental bar code to indicate the issue number for a periodical. Five digit supplemental codes are used with the product number to identify paperback books. 

Details:
EAN / UPC
Character Set: Numeric, 0 - 9
Encodation: Two bars and two spaces are required to encode a character
Start/Stop Pattern:
All EAN/UPC symbols have what are commonly referred to as guard bar patterns. These are a series of narrow bar and space elements at the beginning, end, and middle (except UPC-E) of the symbol. These guard bar patterns actually create two symbols by dividing the symbol into two parts and thereby making the symbol taller than it is wide. This height allows for easier scanning.

Tr The guard bar pattern is always 3 elements: a narrow bar, narrow space, and narrow bar.

Code Type: Modular, fixed length (thirteen digits with EAN-13; twelve digits with UPC-A; eight digits with EAN-8; six explicitly encoded but eight human readable digits with UPC-E)
Human Readable: UPC-A all twelve digits required. UPC-E six digits required (the Number System Character and the Check Digit are implied), but the UCC promotes printing all eight digits. EAN-13 all thirteen digits required; EAN-8 eight digits required (the Flag Character, Numbering System Character, and the Check Digit are implied).
Check Digit: Required (Modulus 10 calculation)
Encoded Information UPC-A:
Number System Character - one digit
Manufacturer Identification Number - six digits
Product Identification Number - five digits
Check Digit -one digit
Encoded Information EAN-13:
Flag Character (Country Code) - Two to three digits
Manufacturer Identification Number - Four to five digits
Product Identification Number - Five digits
Check Digit - One digit

Allowable Sizes:
Sizes for the EAN / UPC symbols are determined by a "magnification" factor which is based on the "X" dimension size. These magnifications range from 80% to 200% of the nominal size, or 100% size (1.46 inches in width, 1.020 inches in height, "X" dimension - 13 mils).