VIN Check Digit Calculator

VIN 9th digit proof with verdict.

Other ToolsUpdated 2026-10-122 min read
VIN Check Digit Calculator
Letters and digits, no I, O, or Q.
Expected check
...
Actual ninth...
Verdict...

What it does

Every modern VIN carries its own proofreader. The ninth character encodes the other sixteen through transliteration and weights, modulo eleven with X standing for ten. Fakes and typos usually break the proof.

The tool above runs 49 CFR 565. With 1HGCM82633A004352 the sum is 311, mod eleven is 3, and the ninth holds 3 for Valid check digit. The classic 1M8GDM9AXKP042788 expects X and matches. Swapping the Honda ninth to 5 flips the same VIN to Invalid with expected 3.

Letters map by table, never by alphabet order: A through H run one to eight while J restarts at one, skipping I and O throughout with Q banned too. Weights descend eight to two with ten at eighth and zero at the check itself.

This page checks arithmetic only. It never clears theft, liens, floods, or odometers. Title and history services own those answers.

How to use

  1. Type the 17 character VIN.
  2. Skip I, O, Q which never appear.
  3. Read expected check first.
  4. Read actual ninth character.
  5. Read valid or invalid verdict.
  6. Run history and title checks separately.

Formula

sum = value(i) x weight(i) over 17. expect = sum mod 11 (10 reads X). Compare with 9th char.
VIN
17 characters without I, O, Q.
values
Letter to number table plus digits as-is.
weights
8..2 positional multipliers with 0 at ninth.

FMVSS 115 / 49 CFR 565 check digit with fixed transliteration and weights. At any I, O, Q, or short length there is no check to run. Pass confirms arithmetic, never title or theft status.

Worked example

Example: Honda VIN check

Defaults: Honda style 1HGCM82633A004352. No I, O, Q letters allowed.

  1. Inputs: 17 character VIN 1HGCM82633A004352.
  2. Transliterate letters to numbers per table.
  3. Weight positions 1-17 with 8..2 (9th weight 0).
  4. Sum 311, mod 11 is 3, so expect 3.
  5. Ninth holds 3: Valid check digit. Tool shows the same.

Reference table

Checks
VINExpectedCall
1HGCM82633A0043523Valid check digit
1HGCM82653A0043523, holds 5Invalid check digit
1M8GDM9AXKP042788XValid check digit
2FACP8CF0LX2158911, holds 0Invalid check digit
1HGCM82633A00435X2, holds 3Invalid check digit

Limits

  • Arithmetic only. No history check.
  • 17 chars required. Short VINs excluded.
  • No I, O, Q handling beyond reject.
  • Standards change. Confirm current rule.

Common mistakes

  • Typing O for zero or I for one.
  • Counting positions from zero.
  • Forgetting X means ten.
  • Reading pass as clean title.
  • Skipping history on a pass.

Try it yourself

Quick checks. Answers sit tucked under each question.

Same VIN with ninth changed to 5?

Same math expects 3 while ninth holds 5: Invalid check digit.

1M8GDM9AXKP042788?

GM classic expects X and holds X: Valid check digit.

Questions

How is the VIN check figured?

Transliterated sum with weights mod 11 (10 gives X). Here expect 3.

Which position holds the check?

Ninth character. Here 3 matches, so Valid check digit.

How do letters become numbers?

Letters map per table: A1 B2 C3 D4 E5 F6 G7 H8 J1 K2 and on. I, O, Q never appear.

What are the weights?

Weights run 8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2 with zero at the check.

What does invalid mean?

Altered 5 instead of 3 gives Invalid check digit with expected 3.

Does pass clear a car?

No. Arithmetic only, never theft, lien, or history clearance.

Sources

How this page was checked. The formula above was matched against the cited sources, and the worked example was run through the tool on this page before publishing. If you spot an error, contact us so we can fix it and note the correction.