International Article Number (EAN)
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 1970 by George J. Laurer.[1] The EAN-13 barcode is defined by the standards organization GS1.
The 13 digits in the EAN-13 barcode are grouped as follows:
- The left group: Digits 2-7. The left group also encodes digit 1, through a scheme of odd and even parity.
- The right group: Digits 8-13, digit 13 is the check digit.
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 Numbers (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 also used 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
Components
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 not normally broken down into its components within users' systems.
GS1 Prefixes
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 were rarely seen, as this is just a longer form of a 12-digit UPC and is represented by the same barcode, but in the last few years, more products sold by retailers outside United States and Canada have been using EAN-13 codes beginning with 0, since they were generated by GS1-US.
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
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
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 (and thus the check digit has a weight of 1); the same algorithm is used in other GTINs and the Serial Shipping Container Code (SSCC). Numbering the positions from the right, the odd data digits are always weight 3 and the even data digits are always weight 1, regardless of the length of the code. [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:
position | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
weight | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 |
Weights for EAN-13 code:
position | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
weight | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 |
Weights for EAN-8 code:
position | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
weight | 3 | 1 | 3 | 1 | 3 | 1 | 3 |
For example: 4006381333931 (Stabilo Point 88 Art. No. 88/57), the check code is:
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
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
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, therefore, 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 |
First group of 4 digits | Last group of 4 digits |
---|---|
LLLL | RRRR |
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
The EAN country codes 978 (and later 979) have been allocated since the 1980s 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
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.
How the GTIN (formerly EAN-13) is encoded
The code families UPC-A, EAN-8 and EAN-13 all use the same encoding. The encoded information is repeated in plain text below the barcode.
Coding
The barcode consists of 95 equally spaced areas. From left to right:
- 3 areas to encode the start marker.
- 6*7 = 42 areas making up the left group. This can be further subdivided into 6 subgroups, each consisting of seven areas. The subgroups encode digit 2-7. Each of these encodings can have even or odd parity. The parities taken together, encode digit 1.
- 5 areas to encode the marker for the center of the barcode.
- 6*7 = 42 areas making up the right group. This can be further subdivided into 6 subgroups, each consisting of seven areas. The subgroups encode digit 8-13. Digit 13 is the check digit. Digit 8-13 are all encoded with even parity.
- 3 areas to encode the end marker.
Each area can be black (meaning 1) or white (meaning 0). A maximum of four black areas can be grouped together, these make up a bar. Likewise a maximum of four white areas can be grouped together, these make up a space.
The start marker and the end marker are encoded as 101. The center marker is encoded as 01010.
Each digit in GTIN, except digit 1, consists of seven bits (seven areas). A decimal number between 0 and 9 is encoded so that it consists of two bars and two spaces. The combination of widths of the bars and spaces encodes the number.
The digits in the left group are encoded so that they always start with a space, and end with a bar. The digits in the right group are encoded so that they always start with a bar, and end with a space.
The encoding is described in the following table:
Digit | Pattern | Bar width | Encoding of digit 1 | |||
---|---|---|---|---|---|---|
left | right | odd | even | |||
odd | even | (even) | ||||
0 | 0001101 | 0100111 | 1110010 | 3211 | 1123 | OOOOOO EEEEEE |
1 | 0011001 | 0110011 | 1100110 | 2221 | 1222 | OOEOEE EEEEEE |
2 | 0010011 | 0011011 | 1101100 | 2122 | 2212 | OOEEOE EEEEEE |
3 | 0111101 | 0100001 | 1000010 | 1411 | 1141 | OOEEEO EEEEEE |
4 | 0100011 | 0011101 | 1011100 | 1132 | 2311 | OEOOEE EEEEEE |
5 | 0110001 | 0111001 | 1001110 | 1231 | 1321 | OEEOOE EEEEEE |
6 | 0101111 | 0000101 | 1010000 | 1114 | 4111 | OEEEOO EEEEEE |
7 | 0111011 | 0010001 | 1000100 | 1312 | 2131 | OEOEOE EEEEEE |
8 | 0110111 | 0001001 | 1001000 | 1213 | 3121 | OEOEEO EEEEEE |
9 | 0001011 | 0010111 | 1110100 | 3112 | 2113 | OEEOEO EEEEEE |
For each digit there are three similar encodings: Left even and right are mirror-symmetrical to each other. Left odd is the bitwise inverse of right.
The first digit from the left is always encoded with odd parity, and the last digit (on the right side) is always encoded with even parity. It thus 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.
Example
- C1, C3: Start-/Endmarker
- 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 bits, by two black bars and two white bars (space). Each bar can have a width between 1 and 4 bits.
- Parity for the digits from left to right: 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 encodes the digit 4.
The complete EAN-13 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
- 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
References
- ↑ "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.
- ↑ "Barcodes for Magazines".
- ↑ "Barcodes for Books".
- ↑ Prefix List, GS1.
- ↑ Check Digit Calculator, at GS1 US.
- ↑ GS1 Check Digit Calculator, GS1.
- ↑ "Bar Code Guide - Barcode Types - JAN". Retrieved 2013-02-16.
External links
Wikimedia Commons has media related to International Article Number (EAN). |
- 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#
- gepir.gs1.org
- upcdatabase, another online barcode database
- EAN-Search, free barcode database with 65 million entries
- EAN, UPC, ISBN, ISAN and IMDb Lookup Tool
- Online validation tool and graphics generator of EAN 8/13 codes
- Official JAN homepage (Japanese)
|