International Article Number (EAN)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
GTIN-13 number encoded in EAN-13 barcode. The first digit is always placed outside the symbol; additionally a right ">" indicator is used to indicate a "Quiet Zone" that is necessary for barcode scanners to work properly.

An EAN-13 barcode (originally European Article Number, but now renamed International Article Number even though the abbreviation EAN has been retained) is a 13 digit (12 data and 1 check) barcoding standard which is a superset of the original 12-digit Universal Product Code (UPC) system developed in the United States.[1] The EAN-13 barcode is defined by the standards organization GS1.

The EAN-13 barcodes are used worldwide for marking products often sold at retail point of sale. The numbers encoded in EAN-13 bar codes are product identification numbers, which are also called Japanese Article Number (JAN) in Japan. All the numbers encoded in UPC and EAN barcodes are known as Global Trade Item Numbers (GTIN), and they can be encoded in other GS1 barcodes.

The less commonly used EAN-8 barcodes are used also for marking retail goods; however, they are usually reserved for smaller items, for example confectionery.

2-digit (EAN 2) and 5-digit (EAN 5) supplemental barcodes may be added for a total of 14 or 17 data digits. These are generally used for periodicals (to indicate the current year's issue number[2] ), or books and weighed products like food (to indicate the manufacturer suggested retail price or MSRP[3] ), respectively.

Payload: GTIN-13 number[edit]

Components[edit]

The GTIN-13 encoded in the bar code has four components:

  • The GS1 Prefix, the first three digits, usually identifying the national GS1 Member Organization to which the manufacturer is registered (not necessarily where the product is actually made).[4] When the EAN-13 symbol encodes a conversion of an ISBN, the GS1 Prefix will be either 978 or 979. Likewise the prefix will be 979 for ISMNs (whose prefix is shared with ISBN) and 977 for ISSNs.
  • The Company number, consisting of three to eight digits depending on number of GTIN-13s required by the manufacturer to identify different product lines (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 Item reference, consisting of two to six 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, a single checksum digit. The check digit 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 EAN system will detect all single digit errors. But, since the difference of consecutive weights is even, the EAN system does not detect all adjacent transposition errors.

The complete number is used as a reference key to look up information about the product line held on a database; the number is never normally broken down into its components within users' systems.

GS1 Prefixes[edit]

The first two or three digits of the GTIN of any product identify the GS1 Member Organization which the manufacturer has joined. Note that EAN-13 codes beginning with 0 are rarely seen, as this is just a longer form of a 12-digit UPC and is represented by the same barcode.

The 200-299 country code is worth a special mention; most GS1 member organizations define 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); some 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. 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 or may be retailer assigned. Retailers who have historically used UPC barcodes will tend to use GS1 prefixes 04 (for products) and 02 (for store packaged products) in a similar way.

Calculation of checksum digit[edit]

The checksum digit must be calculated from the data digits before it can be encoded. The checksum is calculated taking a varying weight value times the value of each number in the barcode to make a sum. The checksum digit is then the digit which must be added to this sum to get a number evenly divisible by 10 (i.e. the additive inverse of the sum, modulo 10). See ISBN check digit calculation for a more extensive description and algorithm. The Global Location Number/GLN also uses the same method.[5]

Weight[edit]

The weight for a specific position in the EAN code is either 3 or 1, which alternate so that the final data digit has a weight of 3; the same algorithm is used in other GTINs and the Serial Shipping Container Code (SSCC). In an EAN-13 code, the weight is 3 for odd positions and 1 for even positions; this is reversed in EAN-8 codes.[6] All GTIN and SSCC codes get their weight values for the position of the code from this table, making their code line up to the right:

Weights
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3

Weights for EAN-13 code:

Weights
1 2 3 4 5 6 7 8 9 10 11 12
1 3 1 3 1 3 1 3 1 3 1 3

Weights for EAN-8 code:

Weights
1 2 3 4 5 6 7
3 1 3 1 3 1 3

For example: 4006381333931 (Stabilo Point 88 Art. No. 88/57), the check code is:

Calculation
First 12 digits of the barcode 4 0 0 6 3 8 1 3 3 3 9 3
Weights 1 3 1 3 1 3 1 3 1 3 1 3
Multiplied by weight 4 0 0 18 3 24 1 9 3 9 9 9
Sum 89

The nearest multiple of 10 that is equal or higher than the sum, is 90. Subtract them: 90 - 89 = 1, this is the last digit of the barcode.

Calculation[edit]

Taking the numbers from an EAN 8 code we get: 7351353 or in the table:

Getting the weights for a barcode
Position 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Weight 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3
Code 7 3 5 1 3 5 3
Sums 21 3 15 1 9 5 9

The sum from this barcode is then: 63
63 modulo 10 = 3
10 minus 3 makes the checksum = 7

The complete EAN 8 code is then: 73513537

PHP implementation[edit]

$code = '7351353';
 
$sequence_ean8  = array(3, 1);
$sequence_ean13 = array(1, 3);
 
$sums = 0;
 
foreach(str_split($code) as $n => $digit) {
   if (strlen($code)==7){
      $sums += $digit * $sequence_ean8[$n % 2];
   } elseif (strlen($code)==12){
      $sums += $digit * $sequence_ean13[$n % 2];
   } else {
      echo "code length invalid";
   }
}
 
$checksum = 10 - $sums % 10;
if($checksum == 10){
$checksum = 0;
}
$ean_code = $code . $checksum;

Binary encoding of data digits into EAN-13 barcode[edit]

Encoding EAN-13
the numbers of code L
the numbers of code G
the numbers of code R

To encode an EAN-13 barcode, the digits are first split into 3 groups; the first digit, the first group of 6 and the last group of 6. The first group of six is encoded using a scheme whereby each digit has two possible encodings, one of which has even parity and one of which has odd parity. The first digit is encoded by selecting a pattern of choices between these two encodings for the next six digits, according to the table below. (Unlike the other digits, the first digit is not represented directly by a pattern of bars.) All digits in the last group of six digits are encoded using a single set of patterns which are the same patterns used for UPC.

If the first digit is zero, all digits in the first group of six are encoded using the patterns used for UPC, therefore, a UPC barcode is also an EAN-13 barcode with the first digit set to zero.

Structure of EAN-13
First digit First group of 6 digits Last group of 6 digits
0 LLLLLL RRRRRR
1 LLGLGG RRRRRR
2 LLGGLG RRRRRR
3 LLGGGL RRRRRR
4 LGLLGG RRRRRR
5 LGGLLG RRRRRR
6 LGGGLL RRRRRR
7 LGLGLG RRRRRR
8 LGLGGL RRRRRR
9 LGGLGL RRRRRR
Structure of EAN-8
First group of 4 digits Last group of 4 digits
LLLL RRRR
Encoding of the digits
Digit L-code G-code R-code
0 0001101 0100111 1110010
1 0011001 0110011 1100110
2 0010011 0011011 1101100
3 0111101 0100001 1000010
4 0100011 0011101 1011100
5 0110001 0111001 1001110
6 0101111 0000101 1010000
7 0111011 0010001 1000100
8 0110111 0001001 1001000
9 0001011 0010111 1110100

Note: Entries in the R-column are bitwise complements (logical operator: negation) of the respective entries in the L-column. Entries in the G-column are the entries in the R-column in reverse bit order. See pictures of all codes against a colored background.

Bookland[edit]

The EAN country codes 978 (and later 979) have been allocated since the 1980s in order to reserve a 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 ISBN rather than maintaining a redundant parallel numbering system. Similar arrangements are in place for ISSNs for periodicals (country code 977) and ISMNs for sheet music (country code 979).

Japanese Article Number[edit]

Japanese Article Number (JAN) is a barcode standard compatible with the International Article Number scheme. Use of the JAN standard began in 1978.[7] In January 2001 the manufacturer code changed to 7 digits (9 digits including the country code) for new companies.

See also[edit]

References[edit]

  1. ^ "Alumni Hall of Fame Members". University of Maryland Alumni Association. The University of Maryland. 2005. Archived from the original on 2007-06-30. Retrieved 2009-06-10. "After graduating from Maryland in 1951, George Laurer joined IBM as a junior engineer and worked up the ranks to senior engineer. In 1969, he returned to the technical side of engineering and was later assigned the monumental task of designing a code and symbol for product identification for the Uniform Grocery Product Code Council. His solution—the Universal Product Code—radically changed the retail world. Since then, he has enhanced the code by adding a 13th digit." 
  2. ^ "Barcodes for Magazines". 
  3. ^ "Barcodes for Books". 
  4. ^ Prefix List, GS1 .
  5. ^ Check Digit Calculator, at GS1 US.
  6. ^ Check Digit Calculator, GS1.
  7. ^ "Bar Code Guide - Barcode Types - JAN". Retrieved 2013-02-16. 

External links[edit]