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.

ValueLetters
1A J
2B K S
3C L T
4D M U
5E N V
6F W
7G P X
8H Y
9R Z
Letter values from 49 CFR Part 565. Digits 0–9 keep their own value.

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.

Position1234567891011121314151617
Weight876543210098765432
Position weights. The table scrolls sideways on narrow screens.

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.

PositionCharacterValueWeightProduct
11188
2H8756
3G7642
4C3515
5V5420
61133
7F6212
8331030
91100
10L3927
11A188
120070
130060
140050
150040
160030
170020
Check-digit calculation for 1HGCV1F31LA000000. Sum of products: 221; remainder after dividing by 11: 1.

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.