Productivity and Utilities

VIN Check Digit Validator

Paste one or more VINs to see whether position 9 matches and what the year code in position 10 means.

Your numbers

One per line, 17 characters each. Letters I, O and Q are never used in a VIN.

Result

VINs that pass

2 of 3

Position 9 is the check digit.

Passing
2
Failing
1

Each VIN

VINResultDigit givenDigit expectedWeighted sumYear code means
1M8GDM9AXKP042788Check digit worksXX3511989 or 2019
11111111111111111Check digit works11892001 or 2031
1M8GDM9A1KP042788Check digit fails1X3511989 or 2019
How this was calculated
  1. Replace each letter with its value: A to H are 1 to 8, J to N are 1 to 5, P is 7, R is 9 and S to Z are 2 to 9. Digits keep their value.
  2. Multiply the 17 values by the weights 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2 and add the products.
  3. Divide the sum by 11. The remainder is the check digit, and a remainder of 10 is written as X.
  4. Position 10 is a model year code that repeats every 30 years, so two years are shown.
  • The check digit is required on vehicles made for North America. Many VINs from other regions do not follow it, so a failure there is not an error. A passing VIN is not proof that the vehicle exists.

Calculated using SumPanda.com · https://sumpanda.com/vin-check-digit-validator/

Results are estimates for general information. Verify important figures before relying on them.

Next step

How to use the vin check digit validator

  1. Paste the VINs, one per line. Spaces are ignored and letters can be in either case.
  2. Check that each one has 17 characters. The letters I, O and Q are never used, so the page rejects them.
  3. Read the result for each VIN: the digit given in position 9, the digit the formula expects and the weighted sum.
  4. Use the year code column to see the two model years that the tenth character can mean.

Formula

values: digits keep their value, A to H = 1 to 8, J to N = 1 to 5, P = 7, R = 9, S to Z = 2 to 9

sum = 8 v1 + 7 v2 + 6 v3 + 5 v4 + 4 v5 + 3 v6 + 2 v7 + 10 v8 + 0 v9 + 9 v10 + 8 v11 + 7 v12 + 6 v13 + 5 v14 + 4 v15 + 3 v16 + 2 v17

check digit = sum mod 11, written X when the remainder is 10

Position 9 has weight 0 because it holds the check digit itself. The remainder after dividing by 11 is the expected digit, and a remainder of 10 is written as the letter X.

Checking 1M8GDM9AXKP042788

Replace the letters with their values, multiply by the 17 weights and add. For 1M8GDM9AXKP042788 the weighted sum is 351. Dividing by 11 leaves 10 (351 = 31 x 11 + 10), so the expected check digit is X, which matches the ninth character.

The all ones VIN 11111111111111111 adds the weights 8 + 7 + 6 + 5 + 4 + 3 + 2 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 = 89 plus nothing for position 9, and 89 leaves a remainder of 1, so its check digit is 1. Changing the X in the first example to 1 makes it fail while the sum stays 351.

Where the check digit is required

The check digit rule is required on vehicles built for North America. VINs from other regions often do not follow it, so a failing result on a vehicle made elsewhere does not mean the VIN is wrong.

A passing VIN only shows that the 17 characters are consistent. It does not show that the vehicle exists or that the VIN belongs to the vehicle in front of you.

Reading the year code

Position 10 is a code for the model year that repeats every 30 years: A is 1980 or 2010, B is 1981 or 2011, and so on through Y for 2000 or 2030, then 1 for 2001 or 2031 up to 9 for 2009 or 2039. The letters I, O, Q, U, Z and the digit 0 are not used.

The page shows both years because the code alone cannot say which cycle it belongs to. Other positions of the VIN, or the vehicle itself, settle it.

Assumptions and limits

  • A VIN has exactly 17 characters and never uses the letters I, O or Q.
  • The transliteration table and weights follow the North American rule.
  • Plant, manufacturer and model details are not decoded.
  • Nothing you type is stored or sent anywhere.
  • Up to 100 VINs are read at once.

Formulas reviewed October 10, 2026. See the calculation methodology for how SumPanda rounds, tests and sources its formulas.

Frequently asked questions

Why does my VIN fail the check?

Either a character was mistyped, the VIN comes from a region that does not use the North American rule, or the document itself has an error. Compare each character with the dashboard plate or the title.

Why is the check digit sometimes an X?

The remainder after dividing by 11 can be 10, which needs two characters. The standard writes it as the letter X so the check always fits in one position.

Can two different VINs have the same check digit?

Yes. There are only 11 possible check characters and a huge number of VINs, so many share one. The check catches most typing mistakes, not every possible difference.

Does the year code tell me the exact model year?

It gives two possible years 30 years apart. Cars of the older cycle would be very old, so context usually settles it, but the code by itself cannot.