## VIN Numbers Validator

- To use this tool, enter one or more VIN numbers, one per line.
- End each VIN by pressing the
`Enter`

key so these are recognized as individual entries. - Please keep in mind that VINs with lower cases, I, O, or Q are not valid.
- If necessary, the tool will uppercase your input.
- Check digit validation is compulsory for cars made or destined for sale in North America. This is done to uncover the history of the unit. It is mainly for this reason that scammers avoid disclosing car VIN numbers.

- Table 1 shows that VIN characters consist of four sections (S): 1 - 3, 4 - 8, 9, and 10 - 17. Section 1 is managed by Society of Automotive Engineers (SAE). Sections 2 and 4 are managed by the manufacturers. Section 3 corresponds to a check digit.
- Table 2 reveals that a value (V), position (P), and weight (W) is assigned to each character. Note that VINs in lowercase or with the letters I, O, or Q are not valid. The character in position nine (9) is called the check digit which cannot be zero. The character in position ten (10) encodes the model year. In the United States, the 12th to 17th digits are the vehicle's serial or production number which is unique to each vehicle unit. Every manufacturer uses their own sequences.
- Table 3 shows a typical example. The character in position ten (10) is 5. From Table 1, we can verify that this is a 2005 model.
Applying Vector Theory, rows labeled
**V**and**W**represent vectors. The dot product between these vectors is the sum of the products given in row**VW**which in this case is 411. - Authenticating a VIN reduces to dividing by 11 the dot product of the vectors, ignoring the empty cells below the check digit. The reminder, written as an integer by multiplying it times 11, must be a number greater than 0 and equal or less than 10. If it is 10, we replace it with the letter X. If it is identical to the check digit, the VIN is valid. Proceeding with the calculations, 411/11 = 37.3636... so the reminder is 0.3636... Expressed as an integer it is 11*0.3636... = 4. The check digit in position nine (9) should be 4 and is not. The VIN is not valid.
**Buyers Beware**. A valid VIN can be constructed from an invalid one by simply replacing a check digit with the expected check value. This is easy to demonstrate with our tool: 1G4AH59H75G118341 must be an invalid VIN as its check digit is 7 when it should be 4. So changing the check digit to 4 produces the valid VIN 1G4AH59H45G118341. In general, one can change any character from a VIN, try to validate the new VIN, and if it does not pass the validation, replace its check digit with the predicted check value. This exercise simply demonstrates that one cannot just trust online ads displaying VINs. That a VIN is valid does not mean that it belongs to a legit vehicle. Once a VIN passes a validation test, the prospective buyer should research the records associated to the vehicle he is interested in.

- Data miners, investigators, teachers, students, or anyone interested in mining or validating VIN numbers.

- The police found a stolen car abandoned with the following VIN: 1PA_GB4AX34134587. The fourth character was blurred. It was either b, 6, B, or G. Which of these is the correct character?
- If in the previous exercise you did not know the possible correct characters, how could you still use the tool to find the correct one?
- The following VINs are listed in a Wikipedia article. Explain why some are valid while others are not.
- 11111111111111111
- WP0ZZZ99ZTS392124
- KLATF08Y1VB363636
- 5GZCZ43D13S812715
- SGZCZ43D13S812715