Every car carries a 17-character fingerprint. It is stamped on the chassis, printed on the registration, and etched behind the windshield. Most people glance past it. But if you buy, sell, value, or build software around vehicles, the VIN is the first piece of ground truth you ever touch.

This guide walks through what each part of a VIN means, how to verify one is genuine, and - just as important - where VIN decoding stops being useful. Because the number tells you a surprising amount. It also leaves out almost everything that decides what a specific car is actually worth.

What a VIN is

VIN stands for Vehicle Identification Number. Since 1981, it has been standardized at 17 characters under ISO 3779 and ISO 4030. Before that, formats varied by manufacturer and country, which is why pre-1981 VINs are a different and messier story.

A modern VIN uses the letters A–Z and the digits 0–9, with three deliberate exceptions: the letters I, O, and Q are never used. They look too much like 1 and 0, and removing them eliminates a whole class of transcription errors. If you see an "O" in a VIN, you are reading it wrong, or someone faked it.

The 17 characters split into three functional blocks.

The three blocks of a VIN

Positions 1–3: the WMI (World Manufacturer Identifier)

The first three characters identify who built the car and where.

  • Position 1 is the region and country. A VIN starting with W is Germany. 1, 4, and 5 are the United States. Y covers a band of Nordic and Baltic countries (Sweden, Finland, and neighbours). V covers parts of Western Europe including France and Spain.
  • Positions 2–3 narrow it down to the specific manufacturer.

So WVW is Volkswagen passenger cars in Germany. YV1 is a Volvo passenger car. WBA is BMW. Small manufacturers that build fewer than 1,000 vehicles a year share a WMI and use position 12 onward to disambiguate, which is a niche case but worth knowing exists.

The WMI tells you the brand and the assembling country. It does not tell you the model.

Positions 4–9: the VDS (Vehicle Descriptor Section)

This is the descriptive heart of the VIN - and the part that varies most between manufacturers.

  • Positions 4–8 encode attributes like body style, engine type, transmission, and restraint system. There is no single global standard for what each character means here. Each manufacturer publishes its own scheme. A "B" in position 5 means one thing for Volvo and something completely different for BMW.
  • Position 9 is the check digit. More on that below, because it is the one position in the whole VIN you can validate with arithmetic.

The practical consequence: you cannot reliably decode positions 4–8 without the manufacturer's lookup table for that brand and era. Generic decoders that claim to read trim and options straight from these characters are guessing more often than they admit.

Positions 10–17: the VIS (Vehicle Identifier Section)

The last eight characters make the VIN unique to one physical car.

  • Position 10 is the model year, encoded as a single character. It runs on a 30-year cycle: the letters and numbers map to years and then repeat. For example, R is 2024, S is 2025, T is 2026. The cycle skips I, O, Q (as always) plus U, Z, and 0. Because the code repeats every 30 years, you need context - a 1996 and a 2026 can share the same year character.
  • Position 11 is the assembly plant - the specific factory that built the car.
  • Positions 12–17 are the production sequence number: effectively the car's serial number coming off that line.

Together, the VIS is what makes two otherwise identical cars distinguishable.

The check digit: the one part you can verify

Position 9 is a checksum calculated from the other 16 characters. It exists to catch typos. Here is the method, because it is genuinely useful for catching a bad VIN before it enters your system.

  1. Convert letters to numbers using the standard transliteration table (A=1, B=2 … with the excluded letters skipped, and some letters sharing values).
  2. Multiply each position by its weight. The weights run 8, 7, 6, 5, 4, 3, 2, 10 for positions 1–8, then 0 for position 9 (the check digit itself), then 9, 8, 7, 6, 5, 4, 3, 2 for positions 10–17.
  3. Sum the products and take the remainder when divided by 11.
  4. The remainder is the expected check digit. If the remainder is 10, the check digit is the letter X.

If the computed value does not match position 9, the VIN is either mistyped or invalid. This is a cheap, deterministic gate - and it is worth running on every VIN you ingest. It will not catch a well-forged VIN, but it catches the everyday errors: a transposed character, a missed digit, an O typed where a 0 belonged.

One caveat: the check digit is mandatory in North America but not universally enforced on vehicles built for other markets. A European-market car may have a check digit that does not validate under the North American formula, and that is not necessarily a red flag. Know your market before you treat a checksum failure as proof of fraud.

What VIN decoding actually gives you

Decode a VIN cleanly and you reliably learn:

  • The manufacturer and the assembling country
  • The model year
  • The assembly plant
  • Broad descriptive attributes - body type, often engine family - if you have the manufacturer's scheme
  • A unique identity for that physical vehicle

That is a strong foundation. It is enough to confirm you are looking at the car you think you are looking at, and to catch obvious mismatches between a VIN and a registration document.

What VIN decoding does not give you

Here is where many people overreach. The VIN does not encode:

  • The exact trim and options. Two cars off the same line, same model year, same plant, can differ by tens of thousands of euros in fitted options - leather, driver-assist packages, a larger battery, a tow bar. The VIN rarely captures that granularity, and where it hints at it, the hint needs the manufacturer's data to interpret.
  • Mileage. Nothing in the VIN tells you how far the car has travelled.
  • Service and damage history. No accidents, no repairs, no recalls are visible in the number itself.
  • Current market value. The VIN is an identifier, not a valuation.
  • Whether the car has outstanding finance or has been written off. That lives in registries and finance databases, not the chassis stamp.

In other words: the VIN tells you which car. It does not tell you what condition that car is in, how it is equipped, or what it is worth today. Those answers require enriched data - manufacturer build records, registration data, history checks, and market signals - joined to the VIN.

Why accurate decoding is the foundation, not the finish

Think of the VIN as the join key. On its own it is a string. Its value comes from everything you can reliably attach to it: the canonical spec, the options actually fitted, the ownership and mileage history, the live market price.

But that only works if the decode is correct and the sources agree. When one source says a car is a 2024 and another says 2025, when a generic decoder guesses a trim that was never sold in that market, the downstream valuation inherits the error. Garbage in, confident garbage out. A valuation built on a misread VIN is worse than no valuation, because it looks authoritative.

This is why serious vehicle data treats the VIN as the start of a chain, not the answer. You decode it, you validate the check digit, you resolve it against canonical manufacturer and registry data, and you keep track of which source said what - so that when sources disagree, a human can see the conflict instead of inheriting a silent guess.


At VehIQ, that chain is the product. We decode the VIN, reconcile it against canonical European vehicle data, and keep field-level lineage on every attribute - so a spec or a valuation always shows where it came from. The 17 characters are where it starts. Trustworthy data is what you build on top.