Guide
Reading a vehicle identification number: check digit, year code and region
Every road vehicle made since 1981 has a 17-character Vehicle Identification Number, defined in ISO 3779. It is stamped on the chassis, printed on the registration and recorded in every history and insurance record, which makes it the key to a vehicle’s identity. A VIN is not random: its positions carry the maker, the vehicle type, the year and the plant. This decoder checks the number for validity and splits it into its sections, so that you can spot a typing mistake or a suspicious plate.
The sections
Positions 1 to 3 are the world manufacturer identifier. The first character shows the region (1 to 5 for North America, S to Z for Europe, J to R for Asia and so on) and the next two name the manufacturer. Positions 4 to 8 are the vehicle descriptor: body, engine and model details, which each maker defines. Position 9 is the check digit. Position 10 is the model-year code, position 11 the plant, and positions 12 to 17 the serial number.
The check digit
Letters are converted to numbers by a fixed table (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). Each of the 17 characters is multiplied by a weight, 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2, with the weight 0 at position 9. The products are added and divided by 11, and the remainder is the check digit, written X when it is 10. North American regulation requires this digit. Cars built for other markets are not required to follow it, so a mismatch on a European or Asian VIN means little by itself.
A worked example
Press Sample to check four VINs. 1M8GDM9AXKP042788 is valid: WMI 1M8, region North America, country United States, descriptor GDM9A, check digit X, model year K, plant P, serial 042788. The page explains that K means 1989 or 2019, and that position 7 being a digit points to 1989. 11111111111111111, the classic test VIN, is valid with check digit 1. 1M8GDM9A1KP042788 replaces the check digit with 1 and fails, with the calculated check digit X shown. WDBUF56X18B123456 is a German VIN (WMI WDB) whose check digit does not match, which on a European vehicle is not alarming.
Model-year codes
Position 10 uses the letters A to Y (without I, O, Q, U and Z) and the digits 1 to 9, and the sequence repeats after 30 years: A is 1980 or 2010, K is 1989 or 2019, 1 is 2001 or 2031. On North American cars and light trucks, position 7 decides: a letter means 2010 onwards and a digit means the earlier cycle. For other vehicles the page lists both candidates.
Using it sensibly
Check a VIN you copied from an advertisement against the one on the vehicle. Look for the forbidden letters I, O and Q, which are often a sign of a misread 1 or 0. For the make, model, recalls or history, use an official or commercial VIN service.
Limits
The page has no manufacturer database, so it cannot say what a vehicle is. It cannot confirm that a VIN was issued to a real vehicle or that the plates match. Nothing is sent over the network.
Related tools
- Container Number Validator checks ISO 6346 numbers for shipping containers.
- GTIN, EAN and UPC Check Digit Calculator covers product codes.
- Luhn Validator is used for cards and phones.
- UUID Decoder reads another kind of structured identifier.
Checked against the current version of the VIN Decoder and Validator on .

