Home Blog

How to Calculate a VIN Check Digit (Free Calculator)

How to Calculate a VIN Check Digit (Free Calculator)

The ninth character of a VIN is not random. It is worked out from the other sixteen, and you can calculate it yourself with nothing but a pencil. That is useful in a few real situations: you are debugging code that validates VINs, you have a VIN with one smudged character, or you just want to see why a number passes or fails.

Here is the method, a full example, and a free calculator that does the arithmetic for you.

The Short Version

You convert letters to numbers, multiply each value by a fixed weight for its position, add everything up, and divide by 11. The remainder is your check digit. If the remainder is 10, the VIN writes it as X.

If you want to see why it works and what it protects against, our explainer on what a VIN check digit is covers the background. This post is the hands-on version.

Step 1: Turn Every Character Into a Number

Digits stay as they are. Letters get a value from a fixed table, and VINs never use I, O, or Q.

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 of the 17 positions has its own weight: 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2. Position 9, the check digit itself, has a weight of 0. That is what makes the whole thing work. Whatever sits in position 9 never changes the sum, so you can calculate the digit from the rest.

Step 3: Add Them Up and Divide by 11

Add all 17 products. Divide the total by 11 and keep the remainder. That remainder is the check digit.

A Worked Example

Take the VIN 1HGCM82633A004352. The ninth character is 3, so the calculation should end with 3.

Pos Char Value Weight Product
1 1 1 8 8
2 H 8 7 56
3 G 7 6 42
4 C 3 5 15
5 M 4 4 16
6 8 8 3 24
7 2 2 2 4
8 6 6 10 60
9 3 skipped 0 0
10 3 3 9 27
11 A 1 8 8
12 0 0 7 0
13 0 0 6 0
14 4 4 5 20
15 3 3 4 12
16 5 5 3 15
17 2 2 2 4

The products add up to 311. Divide by 11: 28 x 11 is 308, and 311 minus 308 leaves a remainder of 3. The check digit is 3, which matches position 9. This VIN passes.

How a Typo Gets Caught

Now suppose someone copies the VIN wrong and writes 1HGCM82633A004362. The 5 in position 16 became a 6. That one digit adds 3 to the sum (the weight at that position is 3), so the total becomes 314. Divide by 11 and the remainder is 6. The VIN still says 3 in position 9, so the numbers disagree and the check fails.

That is the whole purpose of the digit. It catches the most common copying mistakes before anyone acts on a wrong number.

Find a Missing Check Digit

If one character is unreadable, you can still work with it. Put a question mark in position 9, run the calculation, and you get the digit that should be there. The catch is that this only works for position 9. If a different character is missing, the sum changes and you cannot recover it from the check digit alone.

Skip the Arithmetic: Use the Calculator

You do not have to do all this by hand. Our VIN Check Digit Calculator takes a VIN, shows the table above for your number, and tells you whether the digit matches. Use ? in position 9 to have it calculate the digit. If you only want a quick pass or fail, the VIN Validator does that, and developers can see working code in our guide to validating a VIN in code.

Common Mistakes

  • Guessing letter values. The table does not simply count up the alphabet. It restarts after H, so J is 1 and S is 2, not 10 and 19. Look each letter up.
  • Forgetting that position 9 is skipped. Its weight is 0, so leave it out of the sum.
  • Reading a zero as the letter O. VINs never contain O, so a round character is a zero.
  • Forgetting the X. A remainder of 10 is written as X, not 10.

What a Pass Does Not Tell You

A matching check digit means the 17 characters are consistent. It does not mean the car exists, and it does not mean the car is clean. A random typo can still slip through about one time in eleven, and a made-up number can be built to pass. Also, the digit is required in North America but not everywhere. A genuine VIN from a European or Asian market can fail this test, which we explain in how to decode a European import VIN. For the full picture of checking a number, see how to check if a VIN is valid.

Keep Reading

Free VIN tools: VIN Generator · VIN Decoder · VIN Validator · Check Digit Calculator · Bulk Generator · QR Code Generator · Visualizer

← Back to all articles

Advertisement - 728x90
Ad 160x600