VIN Check Digit Validator
Paste a 17-character VIN to verify its check digit and see what each section means — including every model year the year code could legitimately be.
🔒 Your data never leaves your browser.
Why VINs never contain I, O or Q
Those three letters were excluded from the VIN alphabet because they are too easy to confuse with the digits 1 and 0. If a VIN you have been given contains one, it was mis-read — and the fix is mechanical: I becomes 1, O and Q become 0. This checker tells you the corrected value so you can confirm it against the check digit.
The check digit is not universal
Position 9 is a check digit computed from the other sixteen characters. It is mandatory in North America under FMVSS 115, but manufacturers elsewhere often leave it unenforced. A European VIN that fails this test can still be genuine, which is why this tool reports a mismatch as a strong hint rather than a verdict of "fake".
The model year is genuinely ambiguous
Position 10 encodes the model year using 30 codes — 21 letters and 9 digits — which then
repeat. The letter A means 1980, 2010 and 2040. There is a North American
convention that helps: if position 7 is a digit the vehicle belongs to the 1980–2009 cycle,
and if it is a letter, to 2010 onwards. This tool applies that convention and still shows you
the alternatives, because the code itself cannot rule them out.
What a valid check digit does and does not prove
It proves the seventeen characters are internally consistent — that you transcribed them correctly. It says nothing about whether the vehicle exists, has been stolen, or matches its paperwork. Those need a title check, not arithmetic.
Every check this tool runs (8 rules)
VIN-F01Not 17 characters
A modern VIN is exactly 17 characters. Vehicles built before 1981 used shorter, manufacturer-specific formats that this checker cannot validate.
Fix: Check the plate on the dashboard or door frame. Count carefully — the character after 8 digits is often mistaken for a separator.
Source: ISO 3779 (VIN structure) and FMVSS 115 / 49 CFR 565 (the North American check digit). Algorithm verified against real VINs in our regression tests, including an X check digit.
VIN-F02Contains I, O or Q
The letters I, O and Q are excluded from the VIN alphabet precisely because they are confusable with 1 and 0. Finding one means the VIN was mis-transcribed — almost always from a photo or a handwritten note.
Fix: Replace I with 1, O with 0, and Q with 0 — then re-check the check digit to confirm the reading.
Source: ISO 3779 (VIN structure) and FMVSS 115 / 49 CFR 565 (the North American check digit). Algorithm verified against real VINs in our regression tests, including an X check digit.
VIN-F03Contains an invalid character
A VIN uses digits and capital letters only (excluding I, O and Q).
Fix: Remove spaces, hyphens and punctuation.
Source: ISO 3779 (VIN structure) and FMVSS 115 / 49 CFR 565 (the North American check digit). Algorithm verified against real VINs in our regression tests, including an X check digit.
VIN-C01Check digit does not match
Position 9 is a check digit derived from the other sixteen characters. A mismatch usually means a transcription error. Note that the check digit is mandatory in North America but not enforced everywhere — a European VIN can be genuine and still fail this test.
Fix: Re-read the VIN, paying attention to 8/B, 5/S, 2/Z and 0/D confusions.
Source: ISO 3779 (VIN structure) and FMVSS 115 / 49 CFR 565 (the North American check digit). Algorithm verified against real VINs in our regression tests, including an X check digit.
VIN-S01World Manufacturer Identifier (WMI)
The first three characters identify the manufacturer and the region where the vehicle was built. The first character alone gives the region.
Source: ISO 3779 (VIN structure) and FMVSS 115 / 49 CFR 565 (the North American check digit). Algorithm verified against real VINs in our regression tests, including an X check digit.
VIN-S02Model year is ambiguous by design
Position 10 encodes the model year on a 30-year cycle, so a single code always maps to several possible years. Where position 7 is a digit the vehicle is from the 1980–2009 cycle, and where it is a letter from 2010 onwards — a North American convention that narrows it down but does not eliminate the ambiguity.
Source: ISO 3779 (VIN structure) and FMVSS 115 / 49 CFR 565 (the North American check digit). Algorithm verified against real VINs in our regression tests, including an X check digit.
VIN-S03Assembly plant and serial
Position 11 identifies the assembly plant (manufacturer-specific), and positions 12–17 are the production serial number.
Source: ISO 3779 (VIN structure) and FMVSS 115 / 49 CFR 565 (the North American check digit). Algorithm verified against real VINs in our regression tests, including an X check digit.
VIN-P01Placeholder pattern
Every character is the same, or the VIN is a known filler value. Note that 11111111111111111 satisfies the check digit — which is exactly why a checksum alone is not enough.
Fix: Use the VIN from the vehicle.
Source: ISO 3779 (VIN structure) and FMVSS 115 / 49 CFR 565 (the North American check digit). Algorithm verified against real VINs in our regression tests, including an X check digit.