EAN-13
EAN-13 is the international retail barcode standard, an extension of UPC-A that adds country/region identification while remaining fully backward-compatible.
EAN is designed by the International Article Numbering Association (EAN) in Europe. It is an extension of UPC-A to include country information. This means that any software or hardware capable of reading an EAN-13 symbol will automatically be able to read a UPC-A symbol. The only difference between UPC-A and EAN-13 is that the number system in UPC-A is a single digit from 0 through 9, whereas an EAN-13 number system consists of two digits ranging from 00 to 99. EAN-13 encodes 12 digits of numeric data along with a trailing check digit, for a total of 13 digits of barcode data. 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.
An EAN-13 number consists of four areas:
Normally the number system digit is printed to the left of the barcode, and the check digit to the right. The manufacturer and product codes are printed just below the barcode, separated by the guard bar.
The number system consists of two digits (sometimes three digits) which identify the country/region numbering authority that assigned the manufacturer code. Any number system that starts with the digit 0 is a UPC-A barcode. The number system list is maintained by the EAN organization. The number system for every country/region is also listed here.
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 use the same manufacturer code.
EAN uses what is called "variable-length manufacturer codes." Assigning fixed-length 5-digit manufacturer codes, as the UCC did until recently, means that each manufacturer can have up to 99,999 product codes — and many manufacturers don't have that many products, meaning hundreds or even thousands of potential product codes are wasted on manufacturers that only have a few products. Thus, if a potential manufacturer is known to produce only a few products, EAN may issue it a longer manufacturer code, leaving less space for the product code. This results in more efficient use of the available manufacturer and product codes.
The product code is assigned by the manufacturer. The product code immediately follows the manufacturer code. The combined length of the manufacturer code plus the product code must be exactly 10 digits.
The check digit is used to verify that the barcode was generated or scanned correctly. It is calculated based on the rest of the barcode digits.
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 barcode has been correctly interpreted.
The nominal X dimension is 13 mils. The printable X dimension ranges from 10.4 to 24 mils.
The method for calculating the check digit:
- From right to left, starting with the odd position, assign the odd/even position to each digit.
- Sum all digits in odd positions and multiply the result by 3.
- Sum all digits in even positions.
- Sum the results of step 3 and step 4.
- Divide the result of step 4 by 10. The check digit is the number that, added to the remainder, equals 10.
How to calculate the checksum (Visual Basic function):
Function Append_EAN_Checksum(RawString As String)
Dim Position As Integer
Dim CheckSum As Integer
CheckSum = 0
For Position = 2 To 12 Step 2
CheckSum = CheckSum + Val(Mid$(RawString, Position, 1))
Next Position
CheckSum = CheckSum * 3
For Position = 1 To 11 Step 2
CheckSum = CheckSum + Val(Mid$(RawString, Position, 1))
Next Position
CheckSum = CheckSum Mod 10
CheckSum = 10 - CheckSum
If CheckSum = 10 Then
CheckSum = 0
End If
Append_EAN_Checksum = RawString & Format$(CheckSum, "0")
End Function
An EAN-13 symbol can be divided into two halves, each consisting of six digits separated by a center guard bar pattern. The whole symbol is surrounded by two guard bar patterns. The same digit has different encoding depending on whether it is in the left half or the right half. The encoding pattern for digits in the left half always starts with a space, while the one for digits in the right half always starts with a bar and ends with a space.
An EAN-13 symbol has the following structure:
- Start guard bars, always with a pattern bar+space+bar.
- Left half, six digits encoded using encoding schema A or B;
- Center guard bars, with a pattern space+bar+space+bar+space.
- Right half, six digits encoded using encoding schema C.
- Stop guard bars, always with a pattern bar+space+bar.
Code |
Country |
| 00 - 09 | United States of America |
| 10 - 19 | Reserved for UCC (USA) joining EAN |
| 20 - 29 | For local use by retailers or distributors |
| 30-37 | France |
| 400 - 440 | Germany |
| 45 | Japan |
| 46 | Russian Federation |
| 471 | Taiwan |
| 474 | Estonia |
| 475 | Latvia |
| 477 | Lithuania |
| 479 | Sri Lanka |
| 480 | Philippines |
| 481 | Belarus |
| 482 | Ukraine |
| 484 | Moldova |
| 485 | Armenia |
| 486 | Georgia |
| 487 | Kazakhstan |
| 489 | Hong Kong |
| 49 | Japan |
| 50 | United Kingdom |
| 520 | Greece |
| 528 | Lebanon |
| 529 | Cyprus |
| 531 | Macedonia |
| 535 | Malta |
| 539 | Ireland |
| 54 | Belgium and Luxembourg |
| 560 | Portugal |
| 569 | Iceland |
| 57 | Denmark |
| 590 | Poland |
| 594 | Romania (also Romania use 642 for ARPC barcodes) |
| 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 - 745 | Guatemala, El Salvador, Honduras, Nicaragua, Costa Rica, Panama |
| 746 | Republica Dominicana |
| 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 | Slovokia |
| 859 | Czech |
| 860 | Yugoslavia |
| 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 |
| 959 | Papua New Guinea |
| 977 | Periodicals (ISSN) |
| 978 | Books (ISBN) |
| 979 | Music (ISMN) |
| 980 | Refund receipts |
| 99 | Coupons |
GS1 Global
GS1 Romania