EAN-8 is the EAN equivalent of UPC-E in the sense that it provides a "short" bar code for small packages.
An EAN-8 bar code is shorter than an EAN-13 bar code,
although somewhat longer than an UPC-E bar code.
The similarities end there, however. Unlike UPC-E in which only 6 digits are explicitly encoded, EAN-13 explicitly encodes all eight digits; the parity of the digits carries no particular significance. This means that although EAN-13 is compatible with UPC-A, EAN-8 has absolutely no compatibility with UPC-E.
Another difference between UPC-E and EAN-13 is that UPC-E has a direct UPC-A equivalence--a UPC-E bar code may be "expanded" back to UPC-A. This is not the case with EAN-8. An EAN-8 bar code is a 2- or 3-digit number system code followed by a 4- or 5-digit product code. The EAN-8 product codes are assigned directly by the numbering authority. This has the advantage that any company can request an EAN-8 code regardless of its EAN-13 manufacturer or product code. It has the disadvantage that the EAN-8 codes must be stored in each database as a separate product since there is no way to translate an EAN-8 code to an EAN-13 equivalent.
EAN-8 barcode can encode numeric data from 0 through 9.
EAN-8 encodes 7 digits of numeric (0 through 9) message data along with a trailing check digit, for a total of 8 digits of bar code data.
EAN-8 is encoded using the three EAN-13 character sets. EAN-8 also has a check digit that is calculated in the same way as EAN-13.
The EAN-8 checksum digit is based on a modulo 10 calculation based on the weighted sum of the values of each of the digits.
Assuming we wish to encode the 7-digit message "5512345", we would calculate the checksum in the following manner:
Barcode | 5 | 5 | 1 | 2 | 3 | 4 | 5 |
Position | O | E | O | E | O | E | O |
Weighting | 3 | 1 | 3 | 1 | 3 | 1 | 3 |
Calculation | 5 x 3 | 5 x 1 | 1 x 3 | 2 x 1 | 3 x 3 | 4 x 1 | 5 x 3 |
Weighted Sum | 15 | 5 | 3 | 2 | 9 | 4 | 15 |