A BMW VIN is seventeen characters, and every one of them means something. This page explains what each position tells you, how to work out the model year without a lookup table, and how to check whether a VIN is genuine before you send anyone money.
If you would rather not do it by hand, our BMW VIN decoder reads the number and returns the plant, model and model year. The explanation below is for understanding what it is doing — and for the cases where you only have a photograph of a windscreen.
Where to find the VIN on a BMW
Four places, in order of how easy they are to reach:
- Windscreen, driver’s side — visible from outside, at the base of the glass.
- Driver’s door jamb — on the sticker with the tyre pressures and production date.
- Engine bay — stamped on the strut tower on most models.
- Paperwork — registration, title and insurance card all carry it.
On older BMWs there is often a fifth: a stamped plate riveted in the engine bay, and on some models the number appears on the chassis rail under the bonnet. If two of these disagree, stop and ask why.
What each position means
| Position | What it is | Example |
|---|---|---|
| 1–3 | World Manufacturer Identifier — who built it and where | WBA |
| 4–8 | Vehicle descriptor — model, body, engine, restraint system | 5A7C5 |
| 9 | Check digit — a calculated value that validates the whole number | 9 |
| 10 | Model year | L |
| 11 | Assembly plant | A |
| 12–17 | Serial number — the individual car | 123456 |
Positions 1–3 and 9–11 follow the international standard and mean the same thing on every car sold in North America. Positions 4–8 are the manufacturer’s own, and BMW changes what they encode between model generations, which is why a decoder that works on an E46 does not necessarily work on a G20.
Positions 1–3: who built it
The first three characters are the World Manufacturer Identifier. For BMW Group vehicles they are the fastest way to tell a Munich car from a Spartanburg car, and a BMW from a BMW M.
| WMI | Manufacturer | Country | Type |
|---|---|---|---|
| WBA | BMW AG | Germany | Passenger car |
| WBS | BMW M GmbH | Germany | Passenger car (M) |
| WBX | BMW AG | Germany | SAV / SAC |
| WBY | BMW AG | Germany | Electric (i) |
| WB1, WB3, WB4 | BMW Motorrad | Germany | Motorcycle |
| 5UX | BMW Manufacturing | United States | SAV / SAC |
| 5UM | BMW Manufacturing | United States | Passenger car |
| 5YM | BMW M Manufacturing | United States | SAV / SAC (M) |
| 4US | BMW Manufacturing | United States | Passenger car |
| 3MW, 3MF | BMW de México | Mexico | Passenger car |
| WMW | MINI (BMW Group) | Germany / UK | Passenger car |
Two of these are worth remembering. WBS means the car was built by BMW M GmbH — a real M3 or M5, not an M Sport package. 5UX means it came out of Spartanburg, South Carolina, which is where most X models sold in America are assembled.
These codes come from the official vPIC database maintained by the US National Highway Traffic Safety Administration, which is also what our decoder queries.
Position 9: the check digit
The ninth character is not information. It is a checksum, calculated from the other sixteen, and it exists so that a mistyped or invented VIN can be caught immediately.
The calculation is fixed and public:
- Convert every letter to a number. A, J = 1. B, K, S = 2. C, L, T = 3. D, M, U = 4. E, N, V = 5. F, W = 6. G, P, X = 7. H, Y = 8. R, Z = 9. Digits keep their own value. The letters I, O and Q never appear in a VIN — they were excluded to avoid confusion with 1 and 0.
- Multiply each position by its weight. The weights, in order, are 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2. Note the zero in position 9 — the check digit does not check itself.
- Add the results and divide by 11. The remainder is the check digit. A remainder of 10 is written as X.
If the ninth character does not match that remainder, the VIN is wrong. It might be a typing error, or it might be a number someone made up. Either way the number cannot belong to a real car as written.
This is the single most useful thing in this article for anyone buying remotely. A seller who sends you a VIN that fails the check digit has either copied it carelessly or fabricated it.
Position 10: the model year, and the trap in it
The tenth character encodes the model year using a fixed sequence that skips I, O, Q, U, Z and the digit 0:
A B C D E F G H J K L M N P R S T V W X Y 1 2 3 4 5 6 7 8 9
A is 1980, B is 1981, and so on through Y for 2000, then the digits: 1 is 2001, 9 is 2009. Then the sequence starts over — A is 2010, B is 2011, L is 2020.
Here is the trap. The characters repeat every thirty years. The letter L means 1990 and it also means 2020. The VIN alone does not tell you which.
The way to resolve it is position 7. On vehicles from 1980 to 2009 the seventh character is a digit; from 2010 onward it is a letter. So if position 10 is L and position 7 is a letter, the car is a 2020. If position 7 is a digit, it is a 1990.
Our decoder applies exactly this rule, which is why it can date a car that a naive lookup table would place three decades out.
Position 11: the plant
The eleventh character identifies the assembly plant. BMW builds vehicles in Germany, the United States, Mexico, South Africa, Austria, the United Kingdom and China, and the VIN records which one.
Combined with the WMI, this narrows a car’s origin precisely: WBA with a German plant code is a Munich or Dingolfing car; 5UX is Spartanburg by definition. Our decoder maps the plant to our plant pages, so you can see what else is built there.
Positions 4–8: the part that needs a database
These five characters carry the model, body style, engine and restraint system. They are assigned by BMW rather than by a standard, and the encoding changes between generations.
This is where hand-decoding stops being practical. There is no published master table that covers every BMW from 1980 to today, and the sequences that circulate on forums are usually generation-specific and often wrong at the edges. A decoder that queries the manufacturer data — as ours does — is the reliable route.
What a VIN will not tell you
Worth being clear about the limits, because a lot of pages oversell this.
A VIN identifies the vehicle as built. It does not contain the service history, the accident history, the number of owners, or the options fitted at the factory. Those live in other databases — some free, most not — that are keyed by the VIN but are not encoded in it.
Factory options are recorded separately as three-character codes on the build sheet. We cover those in BMW option codes explained. Paint is its own three-digit code, covered in BMW paint codes.
Worked example
Take a VIN beginning 5UX with an L in position 10 and a letter in position 7.
- 5UX — BMW Manufacturing, United States, SAV or SAC. So it is an X model built in Spartanburg.
- Position 7 is a letter, so the tenth character belongs to the second cycle.
- L in the second cycle — 2020 model year, not 1990.
Three characters and a rule, and the car is already placed: a 2020 X model from South Carolina. The remaining positions narrow it to the exact variant and the individual car.
Common questions
How many characters is a BMW VIN?
Seventeen, on any BMW built since 1981. Older cars used shorter chassis numbers that do not follow the modern standard.
What does WBA mean on a BMW VIN?
WBA is BMW AG, Germany, passenger car. WBS is the same but built by BMW M GmbH; WBX is an SAV or SAC.
How do I tell the year from a BMW VIN?
Read position 10 against the standard sequence, then check position 7. If position 7 is a letter the car is 2010 or newer; if it is a digit the car is 2009 or older. Without that second check the year can be wrong by thirty years.
Can a VIN be fake?
A fabricated VIN usually fails the position-9 check digit, because the checksum has to be calculated correctly to pass. A cloned VIN — a real number copied onto another car — will pass, which is why the check digit is a first filter, not proof.
Does the VIN show the options my car was built with?
No. Options are recorded as separate codes on the build sheet, keyed to the VIN but not contained in it.
Why are there no letters I, O or Q in a VIN?
They were excluded by the standard because they are easily confused with the digits 1 and 0.
Sources
- NHTSA vPIC: the official manufacturer identifier database, source of the WMI table above and the data behind our decoder.
- ISO 3779, the international standard that defines the seventeen-character structure, the model-year character sequence and the check-digit calculation.