Check Digit Algorithms Explained
Check digits are calculated using mathematical algorithms to detect errors in identifiers. Below you'll find detailed explanations of how each algorithm works, complete with step-by-step examples.
ISBN-10 (Modulo 11)
Algorithm
ISBN-10 uses a weighted sum algorithm with modulo 11:
- Multiply each of the first 9 digits by its position (10, 9, 8, ..., 2)
- Sum all the products
- Calculate the remainder when dividing by 11
- Subtract the remainder from 11 to get the check digit
- If the result is 10, use 'X'; if 11, use 0
Example: 0-306-40615-?
Step 1: Multiply by position
0 × 10 = 0
3 × 9 = 27
0 × 8 = 0
6 × 7 = 42
4 × 6 = 24
0 × 5 = 0
6 × 4 = 24
1 × 3 = 3
5 × 2 = 10
Step 2: Sum products
0 + 27 + 0 + 42 + 24 + 0 + 24 + 3 + 10 = 130
Step 3: Modulo 11
130 ÷ 11 = 11 remainder 9
Step 4: Check digit
11 - 9 = 2
✓ Check digit: 2
Complete ISBN-10: 0-306-40615-2
ISBN-13 / ISMN (EAN-13 Modulo 10)
Algorithm
ISBN-13 and ISMN use the EAN-13 algorithm with modulo 10:
- Multiply digits in odd positions (1st, 3rd, 5th...) by 1
- Multiply digits in even positions (2nd, 4th, 6th...) by 3
- Sum all the products
- Calculate the remainder when dividing by 10
- Subtract the remainder from 10 to get the check digit
- If the result is 10, use 0
Example: 978-0-306-40615-?
Step 1-2: Multiply alternating 1 and 3
9 × 1 = 9
7 × 3 = 21
8 × 1 = 8
0 × 3 = 0
3 × 1 = 3
0 × 3 = 0
6 × 1 = 6
4 × 3 = 12
0 × 1 = 0
6 × 3 = 18
1 × 1 = 1
5 × 3 = 15
Step 3: Sum products
9+21+8+0+3+0+6+12+0+18+1+15 = 93
Step 4: Modulo 10
93 ÷ 10 = 9 remainder 3
Step 5: Check digit
10 - 3 = 7
✓ Check digit: 7
Complete ISBN-13: 978-0-306-40615-7
ISSN (Modulo 11)
Algorithm
ISSN uses a similar modulo 11 algorithm to ISBN-10:
- Multiply each of the first 7 digits by its position (8, 7, 6, ..., 2)
- Sum all the products
- Calculate the remainder when dividing by 11
- Subtract the remainder from 11 to get the check digit
- If the result is 10, use 'X'; if 11, use 0
Example: 0378-595?
Step 1: Multiply by position
0 × 8 = 0
3 × 7 = 21
7 × 6 = 42
8 × 5 = 40
5 × 4 = 20
9 × 3 = 27
5 × 2 = 10
Step 2: Sum products
0 + 21 + 42 + 40 + 20 + 27 + 10 = 160
Step 3: Modulo 11
160 ÷ 11 = 14 remainder 6
Step 4: Check digit
11 - 6 = 5
✓ Check digit: 5
Complete ISSN: 0378-5955
ISNI / ORCID (ISO 7064 Mod 11-2)
Algorithm
ISNI and ORCID use the ISO 7064 Mod 11-2 algorithm:
- Start with a sum of 0
- For each of the first 15 digits: sum = (sum + digit) × 2 (keeping only the last calculation)
- Calculate check digit: (12 - (sum mod 11)) mod 11
- If the result is 10, use 'X'
Example: 0000-0002-1825-009?
Step 2: Process each digit
sum = 0
sum = (0 + 0) × 2 = 0
sum = (0 + 0) × 2 = 0
sum = (0 + 0) × 2 = 0
sum = (0 + 0) × 2 = 0
sum = (0 + 0) × 2 = 0
sum = (0 + 0) × 2 = 0
sum = (0 + 0) × 2 = 0
sum = (0 + 2) × 2 = 4
sum = (4 + 1) × 2 = 10
sum = (10 + 8) × 2 = 36
sum = (36 + 2) × 2 = 76
sum = (76 + 5) × 2 = 162
sum = (162 + 0) × 2 = 324
sum = (324 + 0) × 2 = 648
sum = (648 + 9) × 2 = 1314
Step 3: Calculate check digit
1314 mod 11 = 2
(12 - 2) mod 11 = 10 mod 11 = 10
10 → 'X'
✓ Check digit: X
Complete ORCID: 0000-0002-1825-009X
Why Check Digits?
Check digits are the last digit in an identifier, calculated from the preceding digits using a mathematical algorithm. They serve several important purposes:
- Error Detection: Catch transcription errors when identifiers are manually entered
- Data Integrity: Verify that an identifier hasn't been corrupted during storage or transmission
- Transposition Detection: Detect when adjacent digits are accidentally swapped
- Quality Assurance: Provide a quick validation check before looking up records in databases
While check digits don't catch all errors, they detect the vast majority of common mistakes, making them an essential part of bibliographic identifier systems.