How the VIN check digit is calculated
The ninth character of a VIN is a check digit: a number from 0 to 9, or the letter X standing for 10, calculated from the other 16 characters. If someone mistypes a character, the calculation usually stops matching. Under 49 CFR Part 565 every VIN on a vehicle certified for the United States carries one, and the method fits on one page: turn each character into a number, multiply by the weight of its position, add up, and divide by 11. The remainder is the check digit.
Step 1: give each character a value
Digits keep their own value. Letters get a value from 1 to 9 according to a fixed table. I, O and Q are not used in a VIN at all, so they have no value, which also removes the risk of confusing them with 1 and 0.
| 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 |
Step 2: multiply by the position weight
Each position has a weight. Position 9, the check digit itself, has weight 0, so it never affects its own calculation. Position 8 has the largest weight, 10.
| Position | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Weight | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 10 | 0 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
Step 3: add up and divide by 11
Here is the whole calculation for 1HGCV1F31LA000000, a VIN made up for this site (serial 000000). The products add up to 221. Divided by 11 that leaves 1, so the check digit is 1, which is what position 9 shows.
| Position | Character | Value | Weight | Product |
|---|---|---|---|---|
| 1 | 1 | 1 | 8 | 8 |
| 2 | H | 8 | 7 | 56 |
| 3 | G | 7 | 6 | 42 |
| 4 | C | 3 | 5 | 15 |
| 5 | V | 5 | 4 | 20 |
| 6 | 1 | 1 | 3 | 3 |
| 7 | F | 6 | 2 | 12 |
| 8 | 3 | 3 | 10 | 30 |
| 9 | 1 | 1 | 0 | 0 |
| 10 | L | 3 | 9 | 27 |
| 11 | A | 1 | 8 | 8 |
| 12 | 0 | 0 | 7 | 0 |
| 13 | 0 | 0 | 6 | 0 |
| 14 | 0 | 0 | 5 | 0 |
| 15 | 0 | 0 | 4 | 0 |
| 16 | 0 | 0 | 3 | 0 |
| 17 | 0 | 0 | 2 | 0 |
What a match proves, and what it does not
Change one character and the result usually changes. Swapping the fifth character of the example for another letter gives a check digit of 7 instead of 1. Swapping positions 3 and 4 gives 8, which also exposes the slip. Errors that change two or more characters at once still produce a match about one time in 11, because only 11 outcomes exist.
A matching check digit says the 17 characters are consistent with each other. It does not prove the VIN belongs to a real vehicle, that the vehicle is the one in front of you, or anything about its history.
VINs from outside North America
The check digit is required for vehicles certified for the United States. Elsewhere it has not always been used, so an older vehicle built for another market can have a perfectly genuine VIN that fails the calculation. In NHTSA's catalog 673 of the 3,163 three-character codes are registered outside the United States, Canada and Mexico, but the catalog only covers manufacturers that report to NHTSA, so each of those codes was registered with NHTSA by its holder.
Doing it without arithmetic
The VIN checker runs the same three steps in your browser and shows the full table, so you can follow every product. It also reads the manufacturer code and the model-year character.
Why position 8 weighs the most
The weights run from 8 down to 2 across positions 1 to 7, jump to 10 at position 8, skip position 9 and then count down again from 9 to 2. Because 11 is a prime number and no weight is a multiple of it, changing one character shifts the sum by an amount that is not divisible by 11, as long as the old and new characters have different values. That is what lets the check digit catch any one mistyped character whose value differs.
The exception is a swap between characters that share a value. In the table above, A, J and the digit 1 all have the value 1, so replacing one with another leaves the sum unchanged. The same holds for B, K, S and 2, and for the other rows. A VIN with such a slip still passes the check, which is one reason the result should be read as consistent, not as verified.
Typing mistakes the format prevents
Leaving I, O and Q out of the alphabet removes the most common confusion with 1 and 0 before any arithmetic is done. If a transcribed VIN contains one of those letters, it is certainly wrong. The VIN checker says so and points to the likely digit.
The calculation never looks at what the characters mean. A check digit can be correct on a VIN whose manufacturer code is unknown to NHTSA, and wrong on one whose code is perfectly valid. That is why the checker reports the two results separately.
Sources
NHTSA, Product Information Catalog and Vehicle Listing (vPIC), standalone database vPICList_lite_2026_10, updated October 17, 2026 (public domain). VIN structure, check-digit values and weights, and model-year characters: 49 CFR Part 565, Vehicle Identification Number Requirements. Counts and charts on this page were computed by WMI Codes from the vPIC database.