Home |  Register ZHP |  Stats |  Query |  ZHPs for Sale |  ZHPR Projects About ZHP |  ZHPMafia.com Forum 


The information below was originally posted by a fellow ZHP enthusiast known among various BMW forums as TerraPhantm. Please note that the description of letters and digits comprising the VIN is limited to US Spec. E46 BMW 3-series 3.0L and may not be applcable to other BMW models.

 Position  Description
1W = GERMANY
2B = BMW
3A = Passenger Car
4-5EV = Facelift sedan, BD = Coupe, BW = Convertible
65 = M54B30 Engine
73 = USA
84 = Manual belts with advanced driver and passenger airbags
9Check digit (see below)
103 = 2003, 4 = 2004, 5 = 2005, 6 = 2006
11Production plant: P=Regensburg, K=München
12-17Chassis serial number

Check digit computation

The 9th digit in the VIN serves as a checksum that validates the VIN to quickly detect a malformed sequence. Digits 0-9 in the VIN represent a corresponding numeric value while letters are assigned values as follow.


A=1J=1
B=2K=2S=2
C=3L=3T=3
D=4M=4U=4
E=5N=5V=5
F=6O=6W=6
G=7P=7X=7
H=8Q=8Y=8
I=9R=9Z=9

Each position within the VIN is assigned a relative numeric weight as follows:

(8, 7, 6, 5, 4, 3, 2, 10, -, 9, 8, 7, 6, 5, 4, 3, 2)

Notice the 9th (check) digit does not have assigned weight.
Each of the numeric values representing a digit or a letter in the VIN is multiplied with the corresponding numeric weight based on its offset. The result of each multiplication is then added together and then divided by 11, The remainder of that division result is the check digit value. If the remainder is 10 the value of 'X' is used as the check digit.

Example:
For the VIN above the numeric representation is

(6, 2, 1, 5, 5, 5, 3, 4, *check digit*, 5, 2, 4, 0, 8, 5, 6, 8)

After multiplying each position with its corresponding weight we get:

(48, 14, 6, 25, 20, 15, 6, 40, - , 45, 16, 28, 40, 20, 18, 16)

The sum of the sequence is 357. Division by 11 yields 32 and 5 as a remainder, which is the check digit.


©2014 -  Privacy & Disclaimer  - info@zhpregistry.net