What the VIN check digit is
The ninth character of a VIN is a check digit. It is worked out from the other sixteen characters, so a VIN with one character mistyped almost never passes the check.
How it is worked out
Every character has a value: a digit is its own value, and a letter has the value in the first table below. Each value is multiplied by the weight of its position, in the second table. The 17 results are added up and divided by 11. The remainder is the check digit, and a remainder of 10 is written X.
Letter values
I, O and Q have no value, because a VIN never contains them.
| Value | Letters |
|---|---|
| 1 | A, J |
| 2 | B, K, S |
| 3 | C, L, T |
| 4 | D, M, U |
| 5 | E, N, V |
| 6 | F, W |
| 7 | G, P, X |
| 8 | H, Y |
| 9 | R, Z |
Position weights
Position 9 is the check digit itself, so its weight is 0.
| Position | Weight |
|---|---|
| 1 | 8 |
| 2 | 7 |
| 3 | 6 |
| 4 | 5 |
| 5 | 4 |
| 6 | 3 |
| 7 | 2 |
| 8 | 10 |
| 9 | 0 |
| 10 | 9 |
| 11 | 8 |
| 12 | 7 |
| 13 | 6 |
| 14 | 5 |
| 15 | 4 |
| 16 | 3 |
| 17 | 2 |
A worked example
For KM8K2CAB4PU001140 the values are 2, 4, 8, 2, 2, 3, 1, 2, 4, 7, 4, 0, 0, 1, 1, 4, 0. Multiplied by the weights they are 16, 28, 48, 10, 8, 9, 2, 20, 0, 63, 32, 0, 0, 5, 4, 12, 0, which add up to 257. 257 divided by 11 is 23 with 4 left over, so the check digit is 4. Position 9 of KM8K2CAB4PU001140 is 4, so the check passes.
When the check fails
A wrong check digit usually means a character was misread. This site still decodes the VIN, says what position 9 should be, and offers the VINs that pass the check and differ by one easily confused character.
It can also mean nothing is wrong. The check digit is required on vehicles built for the United States and Canada. Many vehicles built for other markets carry any character in position 9, and their VINs fail the check while being genuine. That is why the API reports a wrong check digit as a warning and not as an error.