VIN check digit algorithm
ClientThe VIN check digit algorithm uses fixed position weights and letter transliteration—not Luhn mod-10. Paste a frame to see pass/fail and expected ninth symbol while learning the published weight table.
Weight table overview
Weights 8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2 multiply transliterated values. Remainder mod 11 maps to the check symbol—with X when the remainder is ten.
?
After removing spaces and hyphens, the frame must be exactly 17 characters. Letters I, O, and Q are forbidden everywhere. Position 9 (index 8) is the check symbol: decimal 0–9 or X for remainder ten. Each symbol maps to a numeric value, is multiplied by a fixed weight for its position, products are summed, and sum mod 11 must equal the check symbol’s value (X → 10).
Result
Passes check digit — weighted sum mod 11 is 10; expected X.
- WMI (positions 1–3):
1HG - Attributes (4–8):
BH41J - Check (9):
X - Model year code (10):
M - Plant (11):
N - Sequential (12–17):
109186
Common use cases
- Document mod-11 for engineering QA specs.
- Contrast VIN mod-11 with IMEI Luhn in mixed identifier training.
- Verify algorithm implementations against a reference page.
Common mistakes to avoid
Using Luhn doubling on VIN strings
VIN uses weighted products summed mod 11—different from payment-card Luhn.
Including position nine in the weighted sum
Position nine weight is zero—the check symbol compares to the remainder.
FAQ
What algorithm does VIN use?
ISO 3779 transliteration, fixed weights, sum mod 11, compare to position nine (0–9 or X).
Is VIN check digit Luhn?
No—VIN uses mod-11 weighted sum; IMEI and cards use Luhn mod-10.
Common search terms
Phrases people search for that match this tool. See the full long-tail keyword index.
- vin check digit verifier online
- validate vin number mod 11 free
- ninth position vin checksum browser
- iso 3779 vin check digit calculator
- vehicle identification number check digit locally
More tools
Related utilities you can open in another tab—mostly client-side.
Luhn checksum (mod 10)
ClientPaste a digit string (spaces ignored)—pass or fail Luhn for PANs, IMEI-style IDs, and test vectors; browser-only.
IMEI & IMEISV checker
Client15-digit GSM IMEI: TAC/SNR split and Luhn verification; 14-digit check hint or 16-digit IMEISV segmentation—no carrier lookup; browser-only.
ICCID checker (SIM)
Client18–22 digit ICCID: telecom MII hint (89), E.118 / ISO 7812 Luhn on full string—no carrier or SM-DP+ lookup; browser-only.
IBAN validate & format
ClientMOD-97-10 checksum, country length (embedded list), compact or grouped copy—no bank lookup; browser-only.