VIN Decoder
Type or paste a 17-character Vehicle Identification Number to check its check digit and decode the model year, manufacturer, country and region of manufacture, assembly plant code and serial number. It works offline with a built-in WMI table, and the VIN never leaves your browser.
Last updated:
Check digit working (weighted sum, mod 11)
How to use the VIN Decoder
- Enter the VIN from the dashboard plate, door jamb sticker, title or registration. Spaces and lower case are fine.
- Watch the 17 boxes fill in: each section is colour-coded and illegal characters are highlighted.
- Click Decode VIN (it also decodes as you type) to see the check digit verdict, model year, maker, country, plant and serial.
- Open the check digit working to see each character's value, weight and the mod-11 result.
- Use Bulk mode to check many VINs at once and download a CSV, or copy the report for your records.
What each of the 17 VIN characters means
Since the 1981 model year, every road vehicle sold in North America (and most of the world, under ISO 3779) carries a 17-character VIN. It is split into three sections:
| Position | Section | Meaning | Example (1HGCM82633A004352) |
|---|---|---|---|
| 1 | WMI | Country / region of the manufacturer | 1 = United States |
| 2 | Manufacturer | H = Honda | |
| 3 | Vehicle type or division (9 = small manufacturer) | G = passenger car | |
| 4-8 | VDS | Model, body style, engine, restraints (manufacturer-defined) | CM826 |
| 9 | Check digit | 0-9 or X, calculated from the other 16 characters | 3 |
| 10 | VIS | Model year code | 3 = 2003 |
| 11 | Assembly plant (manufacturer-defined) | A | |
| 12-17 | Production serial number | 004352 |
The letters I, O and Q are never used anywhere in a VIN, so they cannot be confused with 1 and 0.
VIN check digit formula
The check digit in position 9 (defined in US regulation 49 CFR Part 565) catches almost every single-character typo:
- Convert each character to a number. Digits keep their value. Letters: 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.
- Multiply each value by its position weight:
8 7 6 5 4 3 2 10 0 9 8 7 6 5 4 3 2. - Add up the 17 products and divide by 11. The remainder (0-10) is the check digit; 10 is written as X.
For 1HGCM82633A004352 the products add up to 311, and 311 = 28 × 11 + 3, so the check digit is 3, matching position 9. Position 9 has weight 0, which is why it can be computed from the other characters.
Model year codes (position 10)
The year code repeats every 30 years. For North American cars, MPVs and light trucks, a number in position 7 means the first cycle (1980-2009) and a letter in position 7 means the second (2010-2039).
| Code | Year | Code | Year | Code | Year |
|---|---|---|---|---|---|
| A | 1980 / 2010 | L | 1990 / 2020 | Y | 2000 / 2030 |
| B | 1981 / 2011 | M | 1991 / 2021 | 1 | 2001 / 2031 |
| C | 1982 / 2012 | N | 1992 / 2022 | 2 | 2002 / 2032 |
| D | 1983 / 2013 | P | 1993 / 2023 | 3 | 2003 / 2033 |
| E | 1984 / 2014 | R | 1994 / 2024 | 4 | 2004 / 2034 |
| F | 1985 / 2015 | S | 1995 / 2025 | 5 | 2005 / 2035 |
| G | 1986 / 2016 | T | 1996 / 2026 | 6 | 2006 / 2036 |
| H | 1987 / 2017 | V | 1997 / 2027 | 7 | 2007 / 2037 |
| J | 1988 / 2018 | W | 1998 / 2028 | 8 | 2008 / 2038 |
| K | 1989 / 2019 | X | 1999 / 2029 | 9 | 2009 / 2039 |
I, O, Q, U, Z and 0 are never model-year codes. Where to find the VIN: the lower driver-side corner of the windshield, the driver's door jamb sticker, the title, registration and insurance card.
Frequently asked questions
How is the VIN check digit calculated?
Each of the 17 characters is converted to a number (digits keep their value; letters use the transliteration table, e.g. A = 1, B = 2, J = 1, S = 2), multiplied by the weight for its position (8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2) and summed. The remainder of the sum divided by 11 is the check digit in position 9; a remainder of 10 is written as X.
How do I find the model year from a VIN?
Look at the 10th character. Letters A to Y (skipping I, O, Q, U and Z) and digits 1 to 9 stand for years in a 30-year cycle: A = 1980 or 2010, L = 1990 or 2020, R = 2024, S = 2025, T = 2026, 1 = 2001 or 2031. For North American cars and light trucks, a number in position 7 means 1980-2009 and a letter means 2010-2039.
Why does my European VIN fail the check digit?
The check digit is mandatory in North America (and China) but optional in most other markets. Many European and Japanese-market vehicles have a letter such as Z or another character in position 9 that is not a check digit, so a mismatch there is normal and does not mean the VIN is fake.
Why are the letters I, O and Q not allowed in a VIN?
They are excluded so they cannot be confused with the digits 1 and 0. If you see one, it is almost certainly a 1 or a 0. U, Z and 0 are also never used for the model year in position 10.
What is the WMI in a VIN?
The World Manufacturer Identifier is the first three characters. The first one or two characters give the country or region (1, 4, 5 = USA, 2 = Canada, 3 = Mexico, J = Japan, K = Korea, L = China, W = Germany, S = UK, Z = Italy), and the three together identify the manufacturer and often the vehicle type. If the third character is 9, the maker builds fewer than 1,000 vehicles a year and positions 12-14 complete its code.
Does this tool show accident history, trim or engine?
No. Those details are not encoded in a standard way: positions 4-8 (the VDS) and the plant code in position 11 are defined by each manufacturer. This decoder covers everything the standard defines and works offline; for history reports, use an official vehicle history or government service.
Do older cars have 17-character VINs?
The 17-character format became mandatory for vehicles built for the 1981 model year onward. Older vehicles have shorter, manufacturer-specific serial numbers that cannot be decoded with these rules.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.