Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Vehicle identification number
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Check-digit calculation== A check-digit validation is used for all road vehicles sold in the United States and Canada. When trying to validate a VIN with a [[check digit]], first either (a) remove the check digit for the purpose of calculation or (b) use a weight of zero (see [[#Weights used in calculation|below]]) to cancel it out. The original value of the check digit is then compared with the calculated value. If the calculated value is 0β9, the check digit must match the calculated value. If the calculated value is 10, the check digit must be X. If the two values do not match (and there was no error in the calculation), then there is a mistake in the VIN. However, a match does not prove the VIN is correct, because there is still a 1/11 chance that any two distinct VINs have a matching check digit: for example, the valid VINs {{mono|5GZCZ43D13S812715}} (correct with leading five) and {{mono|SGZCZ43D13S812715}} (incorrect with leading character "S"). The VINs in the Porsche image, {{mono|WP0ZZZ99ZTS392124}}, and the GM-T body image, {{mono|KLATF08Y1VB363636}}, do not pass the North American check-digit verification. ===Transliterating the numbers=== Transliteration consists of removing all of the letters, and replacing them with their appropriate numerical counterparts. These numerical alternatives (based on IBM's [[EBCDIC]]) are in the following chart. ''I'', ''O'', and ''Q'' are not allowed in a valid VIN; for this chart, they have been filled in with ''N/A'' (''not applicable''). Numerical digits use their own values. {|class="wikitable" |+Transliteration key: values for VIN decoding |'''A''': 1 ||'''B''': 2 ||'''C''': 3 ||'''D''': 4 ||'''E''': 5 ||'''F''': 6 ||'''G''': 7 ||'''H''': 8 ||{{n/a}} |- |'''J''': 1 ||'''K''': 2 ||'''L''': 3 ||'''M''': 4 ||'''N''': 5 ||{{n/a}} ||'''P''': 7||{{n/a}} ||'''R''': 9 |- |{{n/a}} ||'''S''': 2 ||'''T''': 3 ||'''U''': 4 ||'''V''': 5 || '''W''': 6||'''X''': 7 ||'''Y''': 8 || '''Z''': 9 |} ''S'' is 2, and not 1. There is no left-alignment linearity. ===Weights used in calculation=== The following is the weight factor for each position in the VIN. The 9th position is that of the check digit. It has been substituted with a 0, which will cancel it out in the multiplication step. {|class="wikitable" |+style="white-space:nowrap"| Weight factor table |- !Position ||1||2||3||4||5||6||7||8||9||10||11||12||13||14||15||16||17 |- !Weight ||8||7||6||5||4||3||2||10||{{no2}}0||9||8||7||6||5||4||3||2 |} ===Worked example=== Consider the hypothetical VIN {{mono|1M8GDM9A_KP042788}}, where the underscore will be the check digit. {|class="wikitable" style="text-align:right" |- style="font-size:1.2em; font-family:monospace; text-align:center" !style="font-size:85%; font-family:sans-serif"|VIN ||1||M||8||G||D||M||9||A|| ||K||P||0||4||2||7||8||8 |- !Value ||1||4||8||7||4||4||9||1||0||2||7||0||4||2||7||8||8 |- !Weight ||8||7||6||5||4||3||2||10||0||9||8||7||6||5||4||3||2 |- !Products ||8||28||48||35||16||12||18||10||0||18||56||0||24||10||28||24||16 |} # The VIN's value is calculated from the above transliteration table. This number is used in the rest of the calculation. # Copy the ''weights'' from the weight factor row above. # The ''products'' row is the result of the multiplication of the columns in the ''Value'' and ''Weight'' rows. # The products (8, 28, 48, 35 ... 24, 16) are all added together to yield a sum, ''351''. # Find the remainder after dividing by 11{{ubl |1= 351 [[modulo operation|MOD]] 11 = 10 |2= 351 Γ· 11 = 31{{frac|'''10'''|11}} }} # The remainder is the check digit. If the remainder is 10, the check digit is X. In this example, the remainder is 10, so the check digit is transliterated as ''X''. With a check digit of ''X'', the VIN {{mono|1M8GDM9A_KP042788}} is written {{mono|1M8GDM9A''X''KP042788}}. A VIN with ''straight-ones'' (seventeen consecutive ''1''s) has the nice feature that its check digit ''1'' matches the calculated value ''1''. This is because a value of one multiplied by 89 (sum of weights) is 89, and 89 divided by 11 is 8 with remainder {{frac|1|11}}; thus 1 is the check digit. This is a way to test a VIN-check algorithm.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)