VIN Structure Decoder

Break any VIN into its WMI, VDS, and VIS sections with field-level explanations

Split a 17-character VIN into the World Manufacturer Identifier (positions 1–3), Vehicle Descriptor Section (4–9), and Vehicle Identifier Section (10–17). Each character is labelled by role — manufacturer, check digit, model year, plant, serial — with a built-in WMI lookup for common makers. Runs in your browser. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What are the WMI, VDS, and VIS sections?

The WMI is positions 1 to 3 and identifies the manufacturer and country. The VDS is positions 4 to 9 and describes the vehicle attributes plus the check digit. The VIS is positions 10 to 17 and carries the model year, plant code, and serial number.

A VIN looks like a random string, but it is three structured blocks. This decoder splits any 17-character VIN into its World Manufacturer Identifier, Vehicle Descriptor Section, and Vehicle Identifier Section, then labels what every single character is for, with a built-in lookup for common manufacturers.

The three sections

WMI — positions 1 to 3 (World Manufacturer Identifier)

The first character encodes the geographic region and country: 1, 4, or 5 is the United States, 2 is Canada, 3 is Mexico, J is Japan, W is Germany, and so on. The second and third characters identify the specific manufacturer and sometimes the vehicle type or division. Small manufacturers that produce fewer than 500 vehicles per year use a different structure where position 3 is set to 9 and the last digits of the serial number carry the unique maker code.

VDS — positions 4 to 9 (Vehicle Descriptor Section)

Positions 4 through 8 carry manufacturer-defined attributes: typically the model line, body style, engine type, and restraint systems. The exact meaning is proprietary to each maker, so there is no universal decode for this section — only the manufacturer knows what CM826 means in their internal coding scheme. Position 9 is always the NHTSA check digit, fixed by US federal regulation.

VIS — positions 10 to 17 (Vehicle Identifier Section)

Position 10 is the model year, encoded on a 30-year repeating cycle using single characters (letters and digits, excluding I, O, Q, U, and Z). Position 11 is normally the assembly plant, though again the assignment is manufacturer-specific. Positions 12 through 17 are the sequential production number — the unique serial of that individual vehicle off the line.

How the tool decodes it

The ISO 3779 standard fixes which positions belong to each section, so the split is purely positional:

positions 1–3   WMI  — region, country, manufacturer
positions 4–8   VDS  — vehicle attributes (body, engine, model)
position  9     VDS  — check digit
positions 10–17 VIS  — 10 model year · 11 plant · 12–17 serial

The tool reads the first three characters against a table of well-known WMIs to name the maker, and marks position 9 and position 10 specially because they carry the check digit and model year.

Worked example

In the VIN 1HGCM82633A004352:

PositionsValueMeaning
1–31HGHonda of America (USA)
4–8CM826Accord, 4-door sedan, V6 (Honda internal)
93Check digit
103Model year (2003)
11AAssembly plant (Marysville, Ohio)
12–17004352Production serial number

If the WMI is not in the built-in lookup table, the tool still correctly labels every positional role — only the manufacturer name is left blank, which is normal for smaller or specialist makers.

What this decoder doesn’t tell you

The VDS attributes (positions 4–8) use proprietary codes that differ per manufacturer, so the tool cannot decode “sedan vs. SUV” or “2.0L vs. 3.5L” generically. For a full attribute decode you need the manufacturer’s VDS key or an NHTSA API lookup. The structure decoder tells you what role each character plays; for what the content means within that role, use a dedicated VIN decode API.