VIN Validator and Check Digit Calculator
Paste a Vehicle Identification Number to check whether it passes the ISO 3779 check digit. The tool computes the check digit at position 9, decodes the model year from position 10, and shows the manufacturer code, all locally in your browser.
How to validate a VIN
- Type or paste the 17-character VIN. Letters are uppercased automatically.
- See the valid or invalid badge update with the reason and the computed check digit.
- Review the decoded manufacturer (WMI) and model year, then copy the cleaned VIN.
Examples
A valid VIN
1HGCM82633A004352
valid: true, checkDigit: 3, wmi: 1HG, modelYear: 2003
A VIN with the wrong check digit
1HGCM82643A004352
valid: false, computedCheckDigit: 3
Frequently asked questions
What does this VIN validator check?
It checks the structure defined by ISO 3779: the VIN is exactly 17 characters, contains only the allowed letters and digits, and its check digit at position 9 matches the value computed from the other 16 characters. A valid result means the VIN is well-formed, not that a vehicle with that VIN exists.
How is the VIN check digit calculated?
Each character is converted to a number using the standard transliteration table (A=1, B=2, and so on, skipping I, O and Q), then multiplied by a positional weight. The weighted values are summed and reduced modulo 11. A remainder of 10 is written as the letter X. That result is the check digit and belongs in position 9.
Why are the letters I, O and Q not allowed?
VINs deliberately exclude I, O and Q because they are easily mistaken for the digits 1, 0 and 0. If your VIN appears to contain one of these letters, it is almost certainly a misread digit. The validator rejects any VIN that includes them.
How is the model year decoded?
Position 10 of the VIN encodes the model year on a repeating 30-year cycle of letters and digits. Because the same code repeats every 30 years, the tool maps it to the most recent plausible year. The manufacturer code (WMI) is the first three characters.
Is my VIN sent anywhere?
No. All validation runs locally in your browser using client-side JavaScript. The VIN you enter is never uploaded, logged, or stored, so it never leaves your device.
Related tools
Luhn Validator
Check any number against the Luhn mod-10 algorithm and get the check digit that completes it. Runs in your browser, so the number stays private.
Credit Card Validator
Check a credit card number with the Luhn algorithm and detect the card type. Validation runs in your browser, so the number never leaves your device.
IMEI Validator
Validate a 15-digit IMEI with the Luhn checksum. Paste an IMEI to see if it is valid and read its TAC, serial number and check digit. Runs in your browser.
ISBN Validator
Validate an ISBN-10 or ISBN-13 and convert between the two. Paste a book number, check the checksum, and copy both forms. Runs in your browser.
BIC / SWIFT Validator
Validate a BIC or SWIFT code against ISO 9362. Check the format and country, then read the bank, country, location and branch parts of the code.
CUSIP Validator
Validate a 9-character CUSIP with the standard mod-10 check digit. See the issuer and issue blocks and the computed check digit. Private, in your browser.