European Article Number
From Wikipedia, the free encyclopedia
An EAN-13 barcode (originally "European Article Number", but now renamed ”International Article Number” even though the abbreviation has been retained) is a 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 organisation 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 serial number), or books and weighted products like food (to indicate the selling price), respectively.
Contents |
[edit] Payload: GTIN-13 number
[edit] Components
The GTIN-13 encoded in the bar code has four components:
- The GS1 Prefix, the first two or three digits, usually identifying the national GS1 Member Organisation to which the manufacturer is registered (not necessarily where the product is actually made). When the EAN-13 symbol encodes a conversion of a 10-digit ISBN number, the GS1 Prefix will be 978 or 979, or 977 for ISSNs.
- The Company number, consisting of four, five or six 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).
- Check digit, a single checksum digit. The check digit is computed modulo 10, where the weights in the checksum calculation alternate 1 and 3. 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.
[edit] GS1 Prefixes
The first two or three digits of the GTIN of any product identify the GS1 Member Organisation which the manufacturer has joined. Note that EAN-13 codes beginning with 0 are rarely used, as this is just a longer form of a 12-digit UPC. Since most scanners and registers worldwide can read both equally, most manufacturers in North America still only use UPC.
[edit] Calculation of checksum digit
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 resulting sum modulo 10 (i.e. the last digit) is subtracted from 10, and the result is used as checksum digit.
[edit] Weight
The weight for a specific position in the EAN code is either 3 or 1. An EAN18 code starts with a weight of 3 (because it always follows another EAN code). All other valid EAN-codes get their weight values for the position of the code from this table making their code line up to the right:
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 |
[edit] Calculation
Taking the numbers from an EAN 8 code we get: 7351353 or in the table:
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
[edit] Binary encoding of data digits into EAN-13 barcode
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, hence a UPC barcode is also an EAN-13 barcode with the first digit set to zero.
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 |
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 of the respective entries in the L-column. Entries in the G-column are the entries in the R-column reversed. See pictures of all codes against a colored background.
[edit] See also
[edit] References
- ^ "Alumni Hall Of Fame Members". University of Maryland Alumni Association. The University of Maryland. 2005. Archived from the original on 2007-06-30. http://web.archive.org/web/20070623090457/http://www.alumni.umd.edu/about/alumnihallfame_bios.html. 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."
[edit] External links
- Download Open-Source Barcode Generator for EAN-13 (C++, VB, Excel Macros, etc.)
- upcdatabase, another online barcode database
- EAN-Search, another free barcode database
- Barcode Perl modules at CPAN
- An example of EAN8/13 implementation
- EAN MediaWiki extension, a MediaWiki extension, visualizing EAN-13/EAN-8/UPC-A/Code39/Codabar barcodes by specifying only the numbers/symbols in the wiki-text.
- Implementing the EAN-13 barcode in C#
[edit] Related articles
- EAN 8, another form of EAN barcode
- Electronic Data Interchange
- European Article Numbering-Uniform Code Council
- Global Electronic Party Information Register (GEPIR) a searchable distributed database of GS1 GTINs
- GTIN
|