Since 1954 VIN numbers have been used on commercial vehicles produced in the U.S. as a way to identify key information about a vehicle but the formatting of these numbers weren’t governed by any standards until 1981 when the National Highway Traffic Safety Administration (NHTSA) stepped in. In a single year a number of industry issues were solved including the lack of transparency and the ability to accurately track a vehicle’s year, make and model. Years later, the ability to associate and trace safety recalls became another very important benefit to having a standard VIN process. Unlocking the details of this unique 17-character string takes a few steps and a little math but can be incredibly helpful once completed.

VIN Composition

Before decoding begins, it’s important to know the basic structure of a VIN. A VIN is comprised of six sections that, when put together, identifies key data needed to be known about a vehicle. The first three positions of a VIN are known as the World Manufacturer Identifier (WMI) and this identifies the manufacturer of the vehicle. Beware, multiple brands may have the same WMI due to joint venture manufacturers or multi-branded owners like American General Manufacturing or Fiat Chrysler Automobiles.

The fourth through eighth positions are known as the Vehicle Descriptor Section (VDS). This section is where one finds vehicle specific details such as model, trim or engine type.

The 9th and 10th positions are where one can find the VIN’s check digit and the vehicle’s model year.

The eleventh position of a VIN is where one may find the plant code and lastly, the 12th through the 17th position is a sequential number that insures the uniqueness of the VIN.

Decoding the VIN

The first step of decoding a VIN is converting all alphanumeric characters to their numerical equivalents. All numerical characters maintain their true value, i.e. 1 = 1 and 2 = 2. Alphabetic numbers have values pre-assigned. The chart containing all equivalencies is below:


Once the VIN has been converted to its numerical equivalent (leaving the 9th position blank), decoding must then multiply each position by its corresponding weighted value. The first position holds a weighted value of 8, so if a VIN starts with a 1, it should compute 1 x 8 and record the product. The weights for each position are as follows:


Our VIN Sample calculations should look like this:



Weighted Value244918251238700545673035830

Once all products are computed and recorded, add them together to get a single sum. Divide the sum by 11 and multiply the decimal portion of the dividend by 11 (use the modulo operator) or find the remainder as seen in the sample below.

24 + 49 + 18 + 25 + 12 + 3 + 8 +70 +54 + 56 + 7 + 30 + 35 + 8 + 3 + 0 = 402

402 ÷ 11 = 36.54 ; .54 x 11 = 6 or 402 ÷ 11 = 366/11; the remainder is 6

The resultant number should be the check digit. If the remainder is 10, the check digit is X.Finally, compare the calculated check digit to that of the original VIN. The 9th position should match the calculated check digit and once it does, it confirms that the VIN passes the check digit algorithm.

Although knowing a VIN is valid and the year of the vehicle is great, additional steps must be taken to determine the make, model, engine and any other applicable specifications covered by the VIN. Here at PriceDigests® we have an extensive database and APIs that cover a number of specs for all major manufacturers from 1981 to current, making VIN decoding and specification collection a seamless task. For additional details feel free to visit – or contact us directly.