The International Article Number ( EAN) (also known as European Article Number, which technically refers to EAN13) is a 13digit barcode symbology, which is a superset of the original 12digit Universal Product Code (UPC) (also known as UPCA), developed in 1970 by George J. Laurer.
The EAN13 barcode is used worldwide for marking products often sold at retail point of sale. It encapsulates 2digit or 3digit number system (GS1 Prefix (usually GS1 country code)), in contrast with UPCA's 1digit number system. EAN13 barcode with number system 45 or 49 is known as Japanese Article Number ( JAN). All the numbers encoded in UPC and EAN are part of GTINs, and they can be encoded in other barcodes defined by the GS1 organization.
The less commonly used 8digit EAN8 barcode was introduced for use on small packages, where EAN13 would be too large.
2digit EAN2 and 5digit EAN5 are supplemental barcodes, placed on the righthand side of EAN13 or UPC. These are generally used for periodicals to indicate the current year's issue number, like magazines, or books, and weighed products like food (to indicate the manufacturer's suggested retail price (MSRP)).
Composition
The 13digit EAN13 number consists of four components:
 :The first 3 digits  usually identifying the national GS1 Member Organization to which the manufacturer is registered (not necessarily where the product is actually made).
[.]
 :The GS1 Prefix is 978 or 979, when the EAN13 symbol encodes a conversion of an ISBN.
[ Likewise the prefix is 979 for ISMN and 977 for ISSN.]
 :The manufacturer code is a unique code assigned to each manufacturer by the numbering authority indicated by the GS1 Prefix. All products produced by a given company will use the same manufacturer code. EAN13 uses what is called "variablelength manufacturer codes." Assigning fixedlength 5digit manufacturer codes, as the UCC has done until recently, means that each manufacturer can have up to 99,999 product codesand many manufacturers don't have that many products, which means hundreds or even thousands of potential product codes are being wasted on manufacturers that only have a few products. Thus if a potential manufacturer knows that it is only going to produce a few products, EAN13 may issue it a longer manufacturer code, leaving less space for the product code. This results in more efficient use of the available manufacturer and product codes.
 :In ISBN and ISSN, this component is used to identify the language in which the publication was issued and managed by a transnational agency covering several countries, or to identify the country where the legal deposits are made by a publisher registered with a national agency, and it is further subdivided any allocating subblocks for publishers; many countries have several prefixes allocated in the ISSN and ISBN registries.
 :The product code is assigned by the manufacturer. The product code immediately follows manufacturer code. The total length of manufacturer code plus product code should be 9 or 10 digits depending on the length of country code(23 digits).
 :In ISBN and ISSN, it uniquely identifies the publication from the same publisher; it should be used and allocated by the registered publisher in order to avoid creating gaps; however it happens that a registered book or serial never gets published and sold.
 :The check digit is an additional digit, used to verify that a barcode has been scanned correctly. It is computed modulo 10, where the weights in the checksum calculation alternate 3 and 1. In particular, since the weights are relatively prime to 10, the EAN13 system will detect all single digit errors. It also recognizes 90% of transposition errors (all cases, where the difference between adjacent digits is not 5).
GS1 Prefixes
The first three digits of the EAN13 (GS1 Prefix) usually identify the GS1 Member Organization which the manufacturer has joined. Note that EAN13 codes beginning with 0 are actually 12digit UPC codes with prepended 0 digit. In the last few years, more products sold by retailers outside United States and Canada have been using EAN13 codes beginning with 0, since they were generated by GS1US.
The 020029 GS1 Prefixes are worth a special mention. GS1 defines this as being available for retailer internal use (or internal use by other types of business). Some retailers use this for proprietary (own brand or unbranded) products, although many retailers obtain their own manufacturer's code for their own brands. Other retailers use at least part of this prefix for products which are packaged in store, for example, items weighed and served over a counter for a customer. In these cases, the barcode may encode a price, quantity or weight along with a product identifier  in a retailer defined way. The product identifier may be one assigned by the Produce Electronic Identification Board (PEIB) or may be retailer assigned. Retailers, who have historically used UPC barcodes, will tend to use GS1 prefixes 02? for store packaged products.
Calculation of checksum digit
The checksum is calculated as sum of products  taking an alternating weight value (3 or 1) times the value of each data digit. The checksum digit is the digit, which must be added to this checksum to get a number divisible by 10 (i.e. the additive inverse of the checksum, modulo 10).
[ Check Digit Calculator, at GS1 US.] See ISBN13 check digit calculation for a more extensive description and algorithm. The Global Location Number(GLN) also uses the same method.
Position  weight
The weight at a specific position in the EAN code is alternating (3 or 1) in a way, that the final data digit has a weight of 3 (and thus the check digit has a weight of 1).
All Global Trade Item Number (GTIN) and Serial Shipping Container Code (SSCC) codes meet the next rule:
Numbering the positions from the right (code aligned to the right), the odd data digits are always weight of 3 and the even data digits are always weight of 1, regardless of the length of the code.
Weights for 18digit SSCC code and GTINs (GTIN8, GTIN12, GTIN13, GTIN14):
Weights for EAN13 code:
Weights for EAN8 code:
Calculation examples

For EAN13 barcode 400638133393 x, where x is the unknown check digit, (Stabilo Point 88 Art. No. 88/57), the check digit calculation is...
 :>
 position  12  11  10  9  8  7  6  5  4  3  2  1

3 
3 
9 
89 
 :The nearest multiple of 10 that is equal or higher than the checksum, is 90. Subtract them: 90  89 = 1, which is the check digit x of the barcode.

For EAN8 barcode 7351353 x, where x is the unknown check digit, the check digit calculation is...
 :>
 :The nearest multiple of 10 that is equal or higher than the checksum, is 70. Subtract them: 70  63 = 7, which is the check digit x of the barcode.
Binary encoding of data digits into EAN13 barcode
To encode the 13digit EAN13 number, the digits are split into 3 groups; the first digit, the first group of 6 and the last group of 6. The first group of 6 is encoded using a pattern whereby each digit has two possible encodings, one of which has even parity (denoted with letter G) and one of which has odd parity (denoted with letter L). The first digit is encoded indirectly, by selecting a pattern of choices between these two encodings for the first group of 6 digits, according to the table below. (Unlike the other digits, the first digit is not represented directly by a pattern of bars and spaces.) All digits in the last group of 6 digits are encoded using a single pattern RRRRRR, the one also used for UPC.
If the first digit is zero, all digits in the first group of 6 are encoded using the pattern LLLLLL used for UPC, therefore, an UPC barcode is also an EAN13 barcode with the first digit set to zero.
Structure of EAN13
! First digit !! First group of 6 digits !! Last group of 6 digits 
RRRRRR 
RRRRRR 
RRRRRR 
RRRRRR 
RRRRRR 
RRRRRR 
RRRRRR 
RRRRRR 
RRRRRR 
RRRRRR 
Structure of EAN8
! First group of 4 digits !! Last group of 4 digits 
RRRR 
Encoding of the digits
! Digit !! Lcode !! Gcode !! Rcode 
1110010 
1100110 
1101100 
1000010 
1011100 
1001110 
1010000 
1000100 
1001000 
1110100 
Note: Entries in the Rcolumn are bitwise complements (logical operator: negation) of the respective entries in the Lcolumn. Entries in the Gcolumn are the entries in the Rcolumn in reverse bit order. See pictures of all codes against a colored background.
Bookland
The EAN "country code" 978 (and later 979) has been allocated since the 1980s to reserve an Unique Country Code (UCC) prefix for EAN identifiers of published books, regardless of country of origin, so that the EAN space can catalog books by [ rather than maintaining a redundant parallel numbering system. Similar arrangements are in place for for periodicals ("country code" 977) and for sheet music ("country code" 979).
]
Japanese Article Number
Japanese Article Number ( JAN) is a barcode standard compatible with the EAN. Use of the JAN standard began in 1978. Originally, JAN was issued a flag code (EAN's number system) of 49. In 1992, JAN was newly issued an additional flag code of 45. In January 2001 the manufacturer code changed to 7 digits (9 digits including the flag code) for new companies.
How the 13digit EAN13 is encoded
The GTIN numbers, encoded to UPCA, EAN8 and EAN13, all use similar encoding. The encoded information is repeated in plain text below the barcode.
EAN13 encoding
The 13digit EAN13 number can be divided into 3 groups: first digit, left group of 6 digits, right group of 6 digits.
The barcode consists of 95 equally spaced areas (also called modules). From left to right:

3 areas to encode the start marker.

42 (6*7) areas making up the left group of 6 digits. This can be further subdivided into 6 subgroups, each consisting of seven areas. The subgroups encode digits 27. Each of these encodings can have even or odd parity. The parities taken together, indirectly encode the first digit of EAN13.

5 areas to encode the marker for the center of the barcode.

42 (6*7) areas making up the right group of 6 digits. This can be further subdivided into 6 subgroups, each consisting of seven areas. The subgroups encode digits 813. Digits 813 are all encoded with even parity. Digit 13 is the check digit.

3 areas to encode the end marker.
Each area can be black bar (1) or white space (0). A maximum of four black bar areas can be grouped together, these make up a wide black bar. Likewise a maximum of four white space areas can be grouped together, these make up a wide white space.
The start marker and the end marker are encoded as 101. The center marker is encoded as 01010.
Each digit in EAN13 (except digit 1, which is not directly encoded) consists of seven areas. A decimal digit is encoded so that it consists of two (wide) bars and two (wide) spaces.
The digits in the left group are encoded so that they always start with a white space, and end with a black bar. The digits in the right group are encoded so that they always start with a black bar, and end with a white space.
Finally, the combination of variablewidth black bars and white spaces encodes the EAN13 number.
The encoding is described in the following table:




OOOOOO EEEEEE 
OOEOEE EEEEEE 
OOEEOE EEEEEE 
OOEEEO EEEEEE 
OEOOEE EEEEEE 
OEEOOE EEEEEE 
OEEEOO EEEEEE 
OEOEOE EEEEEE 
OEOEEO EEEEEE 
OEEOEO EEEEEE 
For each digit there are three similar encodings ( left odd, left even, right): Left even and right are mirrorsymmetrical to each other. Left odd is the bitwise inverse of right.
The first digit from the left group is always encoded with odd parity, and the last digit of the right group is always encoded with even parity. Thus, it does not matter whether the barcode is scanned from the left or from the right: the scanning software can determine what is the beginning and end of the barcode, with the help of the fact that the first digit should have odd parity and the last digit should have even parity.
EAN13 barcode example

C1, C3:Start/end marker.

C2: Marker for the center of the barcode.

6 digits in the left group: 003994.

6 digits in the right group (the last digit is the check digit): 155486.

A digit is encoded in seven areas, by two black bars and two white spaces. Each black bar or white space can have a width between 1 and 4 areas.

Parity for the digits from left and right group: OEOOEE EEEEEE (O = Odd parity, E = Even parity).

The first digit in the EAN code: the combination of parities of the digits in the left group indirectly encodes the first digit 4.
The complete EAN13 code is thus: 4 003994 155486.
Decoding
By using the barcode center marker, it is possible for a barcode scanner to scan just one half of the barcode at a time. This allows reconstruction of the code by means of a helical scan of the barcode by an angle of approximately 45 degrees.
See also

EAN8, another form of EAN barcode

Electronic Data Interchange

European Article NumberingUniform Code Council

Global Electronic Party Information Register (GEPIR) a searchable distributed database of GS1 GTINs

GTIN
External links