VIN Validator

Check whether a VIN is valid from its check digit.

Result

Valid
X

How it is calculated

The 17 characters are turned into numbers: digits keep their value, letters map to 1-9 (A=1 … H=8, J=1 … N=5, P=7, R=9, S=2 … Z=9). The letters I, O and Q are never allowed in a VIN, so the tool rejects them. Each value is multiplied by a fixed position weight and the products are added.

check = (Σ valuei × weighti) mod 11, with weights 8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2. A remainder of 10 is written as X. Position 9 itself has weight 0. The VIN passes when the computed character equals the 9th character; otherwise the tool says the check digit does not match, and adds that it is required for North American VINs only (49 CFR 565.15), so a VIN from another market can be genuine and still not match. This validates the check-digit scheme only; it does not prove the vehicle exists.

Worked example

Take 1M8GDM9AXKP042788. Converted values times weights give 8, 28, 48, 35, 16, 12, 18, 10, 0, 18, 56, 0, 24, 10, 28, 24, 16. Their sum is 351. Then 351 mod 11 = 10 (11 × 31 = 341, remainder 10), which is written X. The 9th character of the VIN is also X, so the tool reports: Valid.

Try this example →

Common mistakes

  • Typing the letter O or I where the digit 0 or 1 was meant. These letters are not allowed in a VIN, so the tool rejects the entry instead of checking it.
  • Entering fewer or more than 17 characters, for example an older pre-1981 chassis number or a VIN with spaces copied in the middle.
  • Assuming a valid result means the VIN is genuine: a typo can still happen to pass the check, and the check digit is required on North American vehicles only, so a genuine VIN from another market may not satisfy it.
  • Misreading similar-looking characters such as 8 and B, or 5 and S, which changes the weighted sum and flips the result to invalid.

Sources

About this calculator

This tool validates a 17-character Vehicle Identification Number (VIN) by recalculating its check digit (position 9) according to the ISO 3779 / SAE J853 algorithm: each character is converted to a numeric value and multiplied by a position-based weight, and the weighted sum modulo 11 must match the check digit ('X' represents 10).

The check digit is mandatory only for North American vehicles (49 CFR 565.15); other markets may fill position 9 differently, so a mismatch is reported as a non-matching check digit rather than an invalid VIN. Used mainly on North American-market vehicles, this check catches typos when a VIN is copied from a title, registration, or window sticker — before ordering parts, running a vehicle history report, or registering a car.

Was this helpful?

You can pick up to 3 reactions.

Comments (1)

  • Editorial team

    The check digit in position 9 is a North American requirement, so a perfectly genuine European or Asian VIN can come back as invalid here. A pass only means the arithmetic fits, not that the car is genuine, unstolen or accident-free, which a vehicle history check has to tell you. The tool needs exactly 17 characters and no I, O or Q. Which regional VIN rules would you like us to support?

Popular calculators

All Calculators