EAN-13, based upon the UPC-A standard, was implemented by the International Article Numbering Association (EAN) in Europe.
This standard was implemented mostly because the UPC-A standard was not well designed for international use, but probably partly because no-one likes the U.S.
to be in charge of anything-especially the Europeans.
EAN-13 is a superset of UPC-A. This means that any software or hardware capable of reading an EAN-13 symbol will automatically be able to read an UPC-A symbol.
The only difference between EAN-13 and UPC-A is that the number system code in UPC-A is a single digit from 0 through 9,
whereas an EAN-13 number system code consists of two digits ranging from 00 through 99, which is essentially a country code.
Each country has a numbering authority which assigns manufacturer codes to companies within its jurisdiction.
The manufacturer code is still five digits long, as is the product code, and the check digit is calculated in exactly the same way.
EAN-13 barcode can encode numeric data from 0 through 9.
EAN-13 encodes 12 digits of numeric (0 through 9) message data along with a trailing check digit, for a total of 13 digits of bar code data.
The following contents will explain the meaning and structure of EAN-13 code.
An EAN-13 bar code is divided into four areas:
The EAN-13 number system consists of two digits (sometimes three digits)
which identify the country (or economic region) numbering authority which assigned the manufacturer code.
Any number system which starts with the digit 0 is a UPC-A bar code.
The valid number system codes are presented in the following table
00-13: USA & Canada | 20-29: In-Store Functions | 30-37: France |
40-44: Germany | 45: Japan (also 49) | 46: Russian Federation |
471: Taiwan | 474: Estonia | 475: Latvia |
477: Lithuania | 479: Sri Lanka | 480: Philippines |
482: Ukraine | 484: Moldova | 485: Armenia |
486: Georgia | 487: Kazakhstan | 489: Hong Kong |
49: Japan (JAN-13) | 50: United Kingdom | 520: Greece |
528: Lebanon | 529: Cyprus | 531: Macedonia |
535: Malta | 539: Ireland | 54: Belgium & Luxembourg |
560: Portugal | 569: Iceland | 57: Denmark |
590: Poland | 594: Romania | 599: Hungary |
600 & 601: South Africa | 609: Mauritius | 611: Morocco |
613: Algeria | 619: Tunisia | 622: Egypt |
625: Jordan | 626: Iran | 64: Finland |
690-692: China | 70: Norway | 729: Israel |
73: Sweden | 740: Guatemala | 741: El Salvador |
742: Honduras | 743: Nicaragua | 744: Costa Rica |
746: Dominican Republic | 750: Mexico | 759: Venezuela |
76: Switzerland | 770: Colombia | 773: Uruguay |
775: Peru | 777: Bolivia | 779: Argentina |
780: Chile | 784: Paraguay | 785: Peru |
786: Ecuador | 789: Brazil | 80 - 83: Italy |
84: Spain | 850: Cuba | 858: Slovakia |
859: Czech Republic | 860: Yugloslavia | 869: Turkey |
87: Netherlands | 880: South Korea | 885: Thailand |
888: Singapore | 890: India | 893: Vietnam |
899: Indonesia | 90 & 91: Austria | 93: Australia |
94: New Zealand | 955: Malaysia | 977: International Standard Serial Number for Periodicals (ISSN) |
978: International Standard Book Numbering (ISBN) | 979: International Standard Music Number (ISMN) | 980: Refund receipts |
981 & 982: Common Currency Coupons | 99: Coupons |
The manufacturer code is a unique code assigned to each manufacturer by the numbering authority indicated by the number system code. All products produced by a given company will use the same manufacturer code.
The product code is a unique code assigned by the manufacturer. Unlike the manufacturer code, which must be assigned by the UCC, the manufacturer is free to assign product codes to each of their products without consulting any other organization. Since the UCC will already have guaranteed that the manufacturer code is unique, the manufacturer need only make sure that they do not repeat their own product codes.
The check digit is an additional digit used to verify that a bar code has been scanned correctly. Since a scan can produce incorrect data due to inconsistent scanning speed, print imperfections, or a host of other problems, it is useful to verify that the rest of the data in the bar code has been correctly interpreted. The check digit is calculated based on the rest of the digits of the bar code. Normally, if the check digit is the same as the value of the check digit based on the data that has been scanned, there is a high level of confidence that the bar code was scanned correctly. The method of calculating the check digit will be discussed later in this page.
Before an EAN-13 symbol may be encoded, the software must compute the correct checksum digit which will be appended to the bar code.
The checksum digit is based on a modulo 10 calculation based on the weighted sum of the values of each of the digits in the number system,
manufacturer code, and product code.
In simple English, that means we must calculate a checksum value for the bar code.
First, we take the rightmost digit of the value and consider it to be an "odd" character. We then move right-to-left, alternating between odd and even.
We then sum the numeric value of all the even positions, and sum the numeric value multiplied by three of all the odd positions.
The steps for calculating the check digit are as follows: