VIN Validator & Check Digit Calculator
Check whether a 17-character Vehicle Identification Number is correctly formed and verify its ISO 3779 / FMVSS 115 check digit — then decode make, model and year for free. Instant, no signup, the validation runs entirely in your browser.
How a VIN is structured: WMI, VDS and VIS
Every road vehicle built since 1981 carries a 17-character VIN defined by ISO 3779. It splits into three sections. Positions 1–3 are the WMI (World Manufacturer Identifier): the first character encodes the region (1, 4 and 5 mean the United States, 2 Canada, 3 Mexico, J Japan, W Germany, S the UK, Z Italy), the second the manufacturer, and the third a vehicle type or manufacturing division. Positions 4–9 are the VDS (Vehicle Descriptor Section), where each maker encodes model, body style, engine and restraint system in its own scheme — with position 9 reserved for the check digit on North American vehicles. Positions 10–17 are the VIS (Vehicle Identifier Section): position 10 is the model-year code, position 11 the assembly plant, and positions 12–17 the sequential production number, which must be numeric in the last four places.
The model-year letter in position 10 repeats on a 30-year cycle — K means 1989 or 2019, A means 1980 or 2010 — and, like the rest of the VIN, it never uses I, O, Q (nor U, Z or 0 in that particular position). Whether a given letter means the earlier or later year is settled by position 7: on post-2010 North American vehicles that character is a letter rather than a digit.
The VIN check digit, worked by hand
The checksum defined by ISO 3779 and made mandatory in the US by FMVSS 115 works in three steps. First, every letter is transliterated to a number: A=1, B=2, C=3, D=4, E=5, F=6, G=7, H=8; J=1, K=2, L=3, M=4, N=5, P=7, R=9; S=2, T=3, U=4, V=5, W=6, X=7, Y=8, Z=9 (digits keep their own value — notice how the banned I, O and Q simply have no slot). Second, each of the 17 positions is multiplied by a fixed weight: 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2 — position 9 itself carries weight 0 so the check digit never influences its own calculation. Third, the products are summed and reduced modulo 11: a remainder of 0–9 is the check digit itself, and a remainder of 10 is written as the letter X.
Take the classic test VIN 1M8GDM9AXKP042788. Transliterated, its values are 1, 4, 8, 7, 4, 4, 9, 1, (check), 2, 7, 0, 4, 2, 7, 8, 8. Multiplying by the weights gives 8 + 28 + 48 + 35 + 16 + 12 + 18 + 10 + 0 + 18 + 56 + 0 + 24 + 10 + 28 + 24 + 16 = 351. Since 351 mod 11 = 10, the check digit is X — exactly the character sitting in position 9, so the VIN validates. Change any single character and the weighted sum shifts by a multiple of that position's weight, which the modulo-11 test almost always catches; that is the whole point of the scheme when VINs are copied from a windshield plate onto an insurance form or a parts order.
Mandatory in North America, optional elsewhere
Here is the detail most online validators get wrong: the check digit is only compulsory for vehicles sold in North America. FMVSS 115 in the United States and its Canadian counterpart require position 9 to satisfy the modulo-11 rule, and NHTSA rejects certification for VINs that fail it. ISO 3779, the international standard, merely permits the check digit — European, Asian and Australian manufacturers building for their home markets are free to use position 9 as an ordinary descriptor character, and many do. A German-market BMW or an Italian-market Fiat can therefore have a perfectly genuine VIN that fails the checksum.
This tool reflects that reality instead of hiding it. If the 17-character format is correct but the modulo-11 test fails, you get a warning with both readings: treated as a North American VIN it is invalid (and the expected check character is shown so you can spot the typo), while treated as a rest-of-world VIN it may be perfectly fine. If you know the vehicle was built for the US or Canadian market, trust the strict reading; if it is a European import, use the free decoder button to see whether the manufacturer's own records recognise the number.
Why I, O and Q are banned — and what the decoder actually does
ISO 3779 excludes the letters I, O and Q from every position because they are visually ambiguous with 1 and 0 on stamped plates, engraved chassis rails and low-quality photocopies. The exclusion is itself a validation feature: any VIN you transcribe that appears to contain one of those letters is wrong by definition — usually an O misread for 0 — and this tool flags exactly which position to re-check.
The Decode this VIN (free) button goes one step further than math. It queries the NHTSA vPIC database — the US government's public vehicle-specification service — directly from your browser and shows the make, model, model year, assembly plant and body class the manufacturer registered for that VIN. No key, no signup, and nothing is stored by this site; the request goes straight from your browser to the government API. Because vPIC is built from manufacturer submissions to the US regulator, coverage is strongest for vehicles sold in North America; rest-of-world VINs often still resolve the WMI (manufacturer and country) but may return blank model fields.
FAQ
Does the decoder tell me if a car is stolen or has accident history?
No. Decoding a VIN only reveals what the manufacturer encoded at the factory: make, model, year, plant and technical attributes. Theft records, accidents, odometer rollbacks and title problems live in separate vehicle-history databases maintained by insurers, police registries and title agencies, and require a dedicated history report. A VIN that validates and decodes perfectly can still belong to a stolen vehicle.
Why does my European VIN fail the check digit test?
Because the check digit in position 9 is only mandatory for vehicles built for the North American market (FMVSS 115 in the US, CMVSS 115 in Canada). ISO 3779 leaves it optional elsewhere, so many European, Asian and Australian-market VINs simply use position 9 as a normal identifier character. If the format is correct — 17 characters, no I, O or Q — a failed checksum on a non-US vehicle is expected, not proof of a typo.
Why are the letters I, O and Q never used in a VIN?
They are banned by ISO 3779 because they are too easy to confuse with the digits 1 and 0 — on a stamped metal plate, an engraved chassis or a faxed registration document, I looks like 1, and both O and Q look like 0. Removing them entirely means any I, O or Q you think you see in a VIN is guaranteed to be a misreading, which by itself catches a large share of transcription errors.
Validating VINs in bulk?
Dealership inventory files, insurance books, fleet imports — our pay-per-use API validates identifiers in bulk. 25 free calls per month, no card required.
Format and check digit validation only (ISO 3779 / FMVSS 115). Decoding is provided by the public NHTSA vPIC service; this tool does not verify ownership, theft status or vehicle history, and does not store the VINs you enter.