ICAO MRZ Check Digit
This calculator calculates the check digit from the other digits/alphabetic characters in the entered series. The calculation is done according to the algorithm used by ICAO for machine readable travel documents. The description of the algorithm can be found below the calculator.
This content is licensed under Creative Commons Attribution/Share-Alike License 3.0 (Unported). That means you may freely redistribute or modify this content under the same license conditions and must attribute the original author by placing a hyperlink from your site to this work https://planetcalc.com/9535/. Also, please do not modify any references to the original work (if any) contained in this content.
Check Digit in the MRZ
According to ICAO's document 93031, check digits in the MRZ are calculated on specified numerical data elements of machine readable travel documents, like boarding pass or passport, to verify that data is correctly read. The calculation is done with a continuously repetitive weighting of 731 731 ..., as follows:
Step 1. Going from left to right, multiply each digit of the pertinent numerical data element by the weighting figure
appearing in the corresponding sequential position.
Step 2. Add the products of each multiplication.
Step 3. Divide the sum by 10 (the modulus).
Step 4. The remainder shall be the check digit.
To put it simply, the check digit is the reminder of integer division by 10 of the 731-weighted sum. If the specified position is not occupied by number, it is filled with < symbol, which is considered as 0 for the purposes of check digit calculation. Alphabetic characters also can be used for check digit calculation. In this case, the characters A to Z are interpreted as values from 10 to 35 consecutively, as follows:
A - 10
B - 11
C - 12
D - 13
E - 14
F - 15
G - 16
H - 17
I - 18
J - 19
K - 20
L - 21
M - 22
N - 23
O - 24
P - 25
Q - 26
R - 27
S - 28
T - 29
U - 30
V - 31
W - 32
X - 33
Y - 34
Z - 35
ICAO MRZ Check Digit calculation example
Using the series 123456BB as example, the check digit calculation will be
1 2 3 4 5 6 B B -> 1 * 7 + 2 * 3 + 3 * 1 + 4 * 7 + 5 * 3 + 6 * 1 + 11 * 7 + 11 * 3 = 7 + 6 + 3 + 28 + 15 + 6 + 77 + 33 = 175 -> 175 mod 10 = 5
The check digit for the example sequence 123456BB is 5. The full sequence, including the check digit will look like this: 123456BB5
Comments