VinDecoder.me

HomeGuides › VIN Check Digit

The math

How the VIN check digit works

Position 9 of every North American VIN is a check digit — a value computed from the other sixteen characters. Its only job is error detection: change any single character and the calculation no longer matches, so typos are caught instantly. Vehicle databases, DMV systems and this site all run this test before doing anything else.

Step 1 — convert letters to numbers

LetterABCDEFGHJKLMNPRSTUVWXYZ
Value12345678123457923456789

Digits keep their face value. I, O and Q have no value because they never appear in a valid VIN.

Step 2 — multiply by position weights

Position1234567891011121314151617
Weight876543210098765432

Step 3 — sum, divide by 11, take the remainder

Multiply each character's value by its position weight, add everything up, and divide by 11. The remainder is the check digit — and if the remainder is 10, the check digit is written as X, the only place X carries a numeric meaning in a VIN.

Worked example: for 1HGCM82633A004352, the weighted sum works out to a value whose remainder mod 11 is 3 — which matches position 9. The VIN validates.

When an invalid check digit is not an error

The check digit is mandatory in the US and Canada, but many vehicles built for European and Asian markets don't compute one — position 9 is just another descriptor character there. So an invalid check digit on a JDM import isn't alarming, while the same failure on a US-market car almost always means a mis-transcribed character. This is also a favorite tell for spotting cloned VINs: fraudsters altering digits on a stolen car frequently forget to recompute position 9.

Decode a VIN now

Free build sheet, specs and recall check from official NHTSA data.

Open the decoder
advertisement