BMW VIN DECODING
The 17-digit VIN number of every car manufactured in, or
imported to, the U.S. since 1981 has a check digit in its
9th position. The value of the check digit depends upon
the characters in the remaining 16 locations. It is
computed by the following algorithm:Each of the characters in the VIN is assigned a value. If
the character is a digit 0-9, it is assigned that value. If the
character is alphabetic, it is assigned a value as follows:
.A=1, B=2, C=3, D=4, E=5, F=6, G=7, H=8, I=9,
.J=1, K=2, L=3, M=4, N=5, O=6, P=7, Q=8, R=9,
.S=2, T=3, U=4, V=5, W=6, X=7, Y=8, Z=9.
Note that the sequence S,T,U,.. begins with 2,3,4,.. and
not 1,2,3,…
Each of the positions in the VIN is assigned a weight taken
sequentially from the following list:
.{8, 7, 6, 5, 4, 3, 2, 10, -, 9, 8, 7, 6, 5, 4, 3, 2}.
That is, position 1 has a weight of 8, position 2 has a
weight of 7, and so forth. The 9th position is the location
of the check digit and does not enter into the computation.
The check digit is computed by multiplying the value of
each character by its positional weight, summing the
products, and dividing the sum by 11. The remainder is
the value of the check digit; if the remainder is 10, the
check digit is assigned the character ‘X’.
As an example, consider the VIN
.WBAAF931XMEE68337
Translating the characters into values gives the result
.62116931-45568337
The values, when multiplied by the positional weights, give
the sequence
.{48, 14, 6, 5, 24, 27, 6, 10, -, 36, 40, 35, 36, 40, 12, 9, 14}
whose sum is 362. Division by 11 leaves a remainder of
10, so the check digit is an ‘X’, as indicated.


vin decoder with options here: http://www.bmw-options-vin-decoder.com