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 page exists due to the efforts of the following people:

Timur

Timur

Created: 2021-11-12 14:43:41, Last updated: 2021-11-12 14:45:01
Creative Commons Attribution/Share-Alike License 3.0 (Unported)

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.

PLANETCALC, ICAO MRZ Check Digit

ICAO MRZ Check Digit

Check digit
 
Sequence including check digit
 

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

URL copied to clipboard
PLANETCALC, ICAO MRZ Check Digit

Comments