valid test VINs · runs locally · nothing uploaded

How VIN Validation Works — Is a VIN Valid?

A VIN is valid when it is exactly 17 characters, uses only the legal alphabet (no I, O, Q), and its 9th character equals the mod-11 check digit of the other 16. Miss any one of those and it is invalid. Below, a valid VIN and the same VIN broken three ways, with the exact reason each fails.

A valid VIN vs. broken ones

2HKRW2H56PH215784 → valid (17 chars, legal alphabet, check digit matches)
2HKRW2H50PH215784 → invalid — bad check digit: position 9 is "0", expected "6"
2HKRW2H56PH21578 → invalid — length 16, expected 17
IHKRW2H56PH215784 → invalid — contains I, O, or Q (not allowed in VINs)

Validate a VIN now →

The three checks, in order

CheckRuleCommon failure
LengthExactly 17 charactersA dropped or extra character (16 or 18)
AlphabetOnly A–H, J–N, P, R–Z, 0–9An I, O or Q typed for 1 or 0
Check digitPosition 9 = mod-11 checksumAny single mistyped character

Why a valid-looking VIN still fails

The check digit is what makes VIN validation strong: because position 9 is computed from every other character, a single transposed or wrong character breaks it — which is exactly the point. If a VIN fails only the check-digit test, re-read it carefully; most failures are one mistyped character. See the check-digit calculation for the math.

Frequently asked questions

How do I know if a VIN is valid?

Confirm it is 17 characters, contains no I/O/Q, and that position 9 matches the mod-11 check digit of the other 16 characters. All three must hold. The decoder runs these checks in your browser.

Why does my VIN show as invalid?

Almost always a typo. Because position 9 is a checksum, one wrong character makes it fail. Also check you did not type an I, O or Q — those never appear in a VIN.

Can a VIN be the wrong length?

A modern VIN is always 17 characters. Vehicles before 1981 used shorter, non-standard VINs, but any 1981-or-newer VIN that is not 17 characters is invalid.