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 |

- The total is 15 + 5 + 3 + 2 + 9 + 4 + 15 = 53.
- 53 divide 10 is equal to 5, with remainder 3.
- 7 must be added to produce a number evenly divisible by 10.
- thus the checksum digit is 7
- the completed bar code value is "55123457".