Introduction: validate a VIN by recomputing the 9th character
A Vehicle Identification Number (VIN) is a standardized 17-character identifier used across many countries for registration, insurance, recalls, service records, and vehicle history reports. Because VINs are frequently copied from paperwork, photos, or dashboards, they are prone to transcription errors. ISO 3779 addresses this by defining a checksum rule: the 9th character is a check digit computed from the other characters.
This page helps you validate a VIN by recomputing the check digit and comparing it to the VIN’s 9th character. If the digits match, the VIN is internally consistent under the ISO 3779 algorithm. If they do not match, the VIN likely contains a typo, a misread character, or an invalid character.
What this calculator can (and cannot) confirm
A passing result means the VIN’s characters satisfy the ISO 3779 checksum rule. It does not prove the VIN belongs to a specific vehicle, that the vehicle is legitimate, or that the VIN has not been copied from another vehicle. The check digit is an error-detection mechanism, not an authentication mechanism.
A failing result is a strong signal that something is wrong with the string you entered. Common causes include: swapping two characters,
confusing similar-looking characters (for example, 5 and S), missing a character, or including a forbidden letter.
If you are reading the VIN from the vehicle, compare the VIN plate, the dashboard view, and the registration paperwork.
How to use the VIN check digit calculator
- Paste or type the full 17-character VIN into the VIN field.
- Select Validate to compute the expected check digit.
- Read the result summary. If there is a mismatch, compare the expected digit to the VIN’s 9th character.
Tip: VINs use only A–H, J–N, P, R–Z and digits 0–9. The letters I, O, and Q
are not permitted because they can be confused with 1 and 0. If your source contains I/O/Q, it is either not a VIN,
or it has been copied incorrectly.
Formula and assumptions (ISO 3779)
ISO 3779 defines a repeatable checksum process. Each character is converted into a number (called transliteration), then multiplied by a fixed weight based on its position. The products are summed, and the remainder modulo 11 determines the check digit.
- Length: exactly 17 characters.
- Allowed characters: digits 0–9 and letters A–H, J–N, P, R–Z (no I, O, Q).
- Check digit position: character 9 (weight 0).
- Modulo: remainder mod 11; remainder 10 is represented by X.
Let vi be the transliterated value of the character in position i, and wi the weight for that position. The weighted sum is:
The check digit is:
Plain-text formula: transliterate letters to numbers; multiply each position by weights [8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2]; sum products; remainder = sum % 11; check digit is X if remainder is 10, otherwise the remainder.
If c = 10, the check digit is X; otherwise it is the digit 0–9. The 9th position has weight 0, which means the printed check digit does not influence the sum; it is only compared at the end.
Worked example: validating 1HGCM82633A004352 step by step
Example VIN: 1HGCM82633A004352. The 9th character is 3. The calculator recomputes the expected check digit by applying
transliteration and weights to all 17 positions.
A simplified walkthrough looks like this:
- Write the VIN as 17 positions (1 through 17).
- Convert each character to a number: digits keep their value; letters use the ISO transliteration mapping.
- Multiply each value by the position weight: 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2.
- Add the products to get a total sum S.
- Compute S mod 11. If the remainder is 10, the check digit is
X; otherwise it is the remainder as a digit.
For 1HGCM82633A004352, the remainder is 3, so the expected check digit is 3. Because the VIN’s 9th character is also 3,
the VIN passes the check-digit test.
If you change only the 9th character (for example, replace it with 5), the recomputed digit would still be 3, and the calculator
would report a mismatch. This is exactly what the check digit is designed to catch: a single-character error in a copied VIN.
Practical tips for avoiding VIN entry errors
When a VIN fails validation, it is often due to a simple reading mistake. These checks can save time before you request records or submit forms:
- Confirm the length: VINs are always 17 characters. If you have 16 or 18, something was dropped or added.
- Look for forbidden letters: I, O, and Q are not used. If you see them, re-check the source.
- Watch for look-alikes:
8vsB,5vsS,2vsZ, and1vs7can be misread depending on font. - Use uppercase: VINs are typically printed in uppercase; this calculator automatically uppercases your input.
- Compare multiple sources: the dashboard VIN, door jamb label, and paperwork should match exactly.
Transliteration and weights reference
The tables below summarize the letter-to-number mapping used by ISO 3779 and the position weights used in the checksum. Digits 0–9 keep their numeric value. The mapping is intentionally limited to avoid ambiguous characters.
Transliteration (letters to numbers)
Transliteration assigns a numeric value to each allowed letter. If a character is not in the allowed set, the VIN is invalid for ISO 3779 validation. The calculator will reject it before attempting the checksum.
| Character(s) | Value | Notes |
|---|---|---|
| A, J | 1 | Letters transliterate to numbers |
| B, K, S | 2 | Letters transliterate to numbers |
| C, L, T | 3 | Letters transliterate to numbers |
| D, M, U | 4 | Letters transliterate to numbers |
| E, N, V | 5 | Letters transliterate to numbers |
| F, W | 6 | Letters transliterate to numbers |
| G, P, X | 7 | Letters transliterate to numbers |
| H, Y | 8 | Letters transliterate to numbers |
| R, Z | 9 | Letters transliterate to numbers |
| Digits 0–9 | 0–9 | Digits keep their numeric value |
ISO 3779 position weights (1–17)
Weights by position are: 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2. The 9th position has weight 0 so the printed check digit does not affect the sum.
In other words, the algorithm uses every character to compute the checksum, but the check digit itself is treated as neutral during the calculation. This design makes it possible to validate the check digit by recomputing it from the rest of the VIN.
Sample VIN checks (examples)
The examples below illustrate typical outcomes. They are useful for testing the calculator interface, but they are not a substitute for verifying a VIN from an authoritative source.
| VIN | 9th character | Example note |
|---|---|---|
1HGCM82633A004352 |
3 | Commonly used example VIN that passes the check digit test |
1FTFW1ET5EFA12345 |
5 | Fails on purpose: the recomputed digit is 7, so the calculator reports a mismatch — a useful demo |
1M8GDM9AXKP042788 |
X | Verified example showing X in the 9th check-digit position |
Limitations and interpretation
The ISO 3779 check digit is a practical, lightweight way to detect errors, but it has limits. Understanding those limits helps you interpret results correctly.
- Error detection, not identity: a valid check digit does not prove ownership, authenticity, or that the VIN matches a specific vehicle.
- Not a full decoder: this page does not decode model year, plant, engine, trim, or manufacturer-specific attributes.
- Not a database lookup: the calculator does not query DMV, insurance, recall, or history databases; it only checks the checksum rule.
- Some errors can still slip through: while the check digit catches many common mistakes, no checksum catches every possible change.
- The check digit is a North American requirement: position 9 is a mandatory check digit only for vehicles sold in the United States (49 CFR 565) and Canada. ISO 3779 lists it as optional, so a genuine VIN from a vehicle built for Europe or another market can fail this test without being wrong — treat a failure on a non-North-American VIN as inconclusive.
Sources: the transliteration values, position weights (8 7 6 5 4 3 2 10 0 9 8 7 6 5 4 3 2), and the mod-11 rule with X for remainder 10 are specified in 49 CFR Part 565 (NHTSA), §565.15, which implements the check digit that ISO 3779 defines as an optional VIN element. Sample VINs verified against this algorithm on this page. Last reviewed July 2026.
If you need more than checksum validation, consider using an official VIN decoder or a trusted vehicle history provider. Use this calculator as a fast first pass to reduce avoidable errors before you submit forms or purchase reports.
VIN check digit questions drivers and buyers ask
ISO 3779 places the check digit at position 9 to keep it in a consistent location across manufacturers. During checksum computation, that position uses weight 0, so the check digit does not influence the sum. The questions below cover what the result means in practice.
What does the VIN check digit tell you?
The 9th character of a 17-character VIN is a check digit. Recomputing it using ISO 3779 helps detect common transcription errors (typos and many transpositions). A match means the VIN is internally consistent; a mismatch suggests the VIN was copied incorrectly or is invalid.
Which characters are not allowed in a VIN?
VINs do not use the letters I, O, or Q because they can be confused with 1 and 0. Valid VIN characters are A–H, J–N, P, R–Z, and digits 0–9.
What does an X check digit mean?
ISO 3779 computes a remainder modulo 11. If the remainder is 10, the check digit is represented as the letter X.
Do all VINs have a valid check digit?
No. The check digit is mandatory for vehicles sold in the United States and Canada under 49 CFR 565 and the Canadian safety regulations, but ISO 3779 lists it only as an option. Many vehicles built for Europe and other markets carry a genuine VIN that fails this test, so treat a failing result for a non-North-American vehicle as inconclusive rather than proof of an error.
What should I do if my VIN fails validation?
Re-enter the VIN carefully, confirm it is exactly 17 characters, and check for the forbidden letters I, O, and Q. Compare the dashboard plate, the door-jamb label, and the paperwork. If it still fails and the vehicle was sold in North America, the string is almost certainly mistyped or misread - use the per-character breakdown table to spot which position looks wrong.
Does a pass mean the VIN is real?
Not necessarily. A pass means the VIN is mathematically consistent with the check digit rule, and a fabricated VIN can be constructed to pass the checksum. For high-stakes decisions such as a purchase, insurance, or title transfer, use official documentation and trusted verification channels.
Continue your automotive planning with the vehicle registration fee calculator, car cost of ownership calculator, and the car finance vs cash calculator.
Status messages will appear here.
Arcade Mini-Game: VIN Check Digit Calculator Calibration Run
Use this quick arcade run to practice separating useful scenario inputs from common planning mistakes before you rely on the calculator output.
Start the game, then use your pointer or arrow keys to catch useful inputs and avoid bad assumptions.
