E30, F80, G20 - BMW's internal development codes are how enthusiasts, parts catalogs, and tuners identify generations. Here's the complete map.
Every BMW platform gets an internal development code before it ever gets a marketing name. The letter marks the era: E (from Entwicklung, German for "development") covers roughly 1966-2013, F codes began around 2008, G codes around 2014, and U/I/J codes cover the newest front-drive-based and electric platforms. The number is sequential by project, not by series - which is why an E30 (3 Series) is older than an E28 (5 Series) is not true… they simply don't sort intuitively. Within one generation, each body style gets its own code: the 2007-2013 M3 is an E90 as a sedan, E92 as a coupe, and E93 as a convertible.
Want to know your exact code from your VIN? The VIN Decoder identifies it automatically for most BMWs.
| Code | Generation | Years |
|---|---|---|
| E21 | 3 Series Mk1 | 1975-1983 |
| E30 | 3 Series Mk2 | 1982-1994 |
| E36 | 3 Series Mk3 | 1990-2000 |
| E46 | 3 Series Mk4 | 1997-2006 |
| E90 / E91 / E92 / E93 | 3 Series Mk5 (sedan / touring / coupe / convertible) | 2005-2013 |
| F30 / F31 / F34 | 3 Series Mk6 (sedan / touring / GT) | 2012-2019 |
| F32 / F33 / F36 | 4 Series Mk1 (coupe / convertible / Gran Coupe) | 2013-2020 |
| G20 / G21 | 3 Series Mk7 | 2019-present |
| G22 / G23 / G26 | 4 Series Mk2 | 2020-present |
| Code | Car | Engine | Years |
|---|---|---|---|
| E30 M3 | M3 Mk1 | S14 2.3 I4 | 1986-1991 |
| E36 M3 | M3 Mk2 | S50 / S52 I6 | 1992-1999 |
| E46 M3 | M3 Mk3 | S54 3.2 I6 | 2000-2006 |
| E90 / E92 / E93 M3 | M3 Mk4 | S65 4.0 V8 | 2007-2013 |
| F80 M3 / F82 M4 / F83 M4 | M3/M4 Mk5 | S55 3.0 TT I6 | 2014-2020 |
| G80 M3 / G82 M4 / G83 M4 | M3/M4 Mk6 | S58 3.0 TT I6 | 2021-present |
| F87 M2 / M2 Comp / CS | M2 Mk1 | N55 (M2) / S55 (Comp, CS) | 2016-2021 |
| G87 M2 | M2 Mk2 | S58 3.0 TT I6 | 2023-present |
| Code | Generation | Years |
|---|---|---|
| E28 | 5 Series Mk2 (first M5, S38) | 1981-1988 |
| E34 | 5 Series Mk3 (M5: S38) | 1988-1996 |
| E39 | 5 Series Mk4 (M5: S62 V8) | 1995-2003 |
| E60 / E61 | 5 Series Mk5 (M5: S85 V10) | 2003-2010 |
| F10 / F11 | 5 Series Mk6 (M5: S63TU) | 2010-2017 |
| G30 / G31 | 5 Series Mk7 (F90 M5: S63T4) | 2017-2023 |
| G60 / G61 | 5 Series Mk8 (G90 M5: S68 hybrid) | 2024-present |
| Code | Model | Years |
|---|---|---|
| E53 / E70 / F15 / G05 | X5 generations 1-4 (X5 M: E70, F85, F95) | 1999-present |
| E83 / F25 / G01 | X3 generations 1-3 (X3 M: F97) | 2003-present |
| E85 / E86 | Z4 Mk1 (roadster / coupe) | 2002-2008 |
| E89 | Z4 Mk2 (hardtop) | 2009-2016 |
| G29 | Z4 Mk3 (shares platform with A90 Supra) | 2019-present |
| E82 / E87 / E88 | 1 Series Mk1 (1M: E82) | 2004-2013 |
| F20 / F22 / F23 | 1/2 Series (M235i/M240i) | 2011-2021 |
| G42 | 2 Series coupe Mk2 | 2021-present |
| I01 / I12 | i3 / i8 | 2013-2022 |
"E92 ZCP" = 2007-13 M3 coupe with the Competition Package. "F80 DCT" = 2014-18 M3 with the dual-clutch. "G8x" = shorthand spanning G80/G82/G83. The code tells you the platform, the engine follows from it (see our engine code guide), and from there every part number, tire size, and tune on the market is searchable. Check your own car's code with the VIN Decoder, or load its factory tire sizes in the Tire Calculator presets.
BMW does not give a facelifted car a new chassis code. Instead it appends LCI - Life Cycle Impulse - to mark the mid-cycle update that usually lands three to four years into a generation. An E90 LCI (2009-2011) keeps the E90 code but gets revised lights, bumpers, and often a new engine: the pre-LCI 335i runs the twin-turbo N54, while the LCI 335i switched to the single-turbo N55. That distinction matters enormously when you are buying or tuning, because two cars wearing the same E90 badge can have completely different engines under the hood. The same pattern repeats across the range - F30 LCI, G20 LCI - so always confirm the build year, not just the code, before ordering parts or a tune. When the difference is engine-level, our engine code guide spells out what changed.
Two cars can both be "BMW M3" and share almost no parts. An E46 M3 is a naturally aspirated, hydraulically steered, six-speed-or-SMG coupe from the early 2000s; an F80 M3 is a turbocharged, electrically steered sedan from a decade later. Suspension components, brake kits, intercoolers, downpipes, wheels, and software are all platform-specific, and a listing that says "fits M3" without a code is useless. This is why the entire aftermarket - from coilover catalogs to flash-tune compatibility lists - is organized by chassis code first. Learn your code once and every search you run afterward returns the right hardware. Pair the chassis code with the engine code and you have the two pieces of information that unlock almost everything else: fitment, fueling, and tuning headroom.
The model name (3 Series, M3) is the marketing name and stays the same across generations. The chassis code (E46, F80, G80) is BMW's internal development code for one specific platform generation, and it is what parts catalogs, tuners, and enthusiasts use to identify a car precisely.
The letter marks the era. E (from Entwicklung, German for development) covers roughly 1966-2013, F codes began around 2008, and G codes around 2014. Newer front-drive-based and electric platforms use U, I, and J codes. The number is a sequential project number, so codes do not sort neatly by series.
Each body style within a generation gets its own code. The 2007-2013 M3, for example, is an E90 as a sedan, E92 as a coupe, and E93 as a convertible. Touring (wagon), Gran Coupe, and convertible variants likewise carry their own numbers.
The F80 is the 2014-2020 M3 sedan, with the F82 coupe and F83 convertible sold as the M4. The G80 is the current M3 sedan (2021 onward), with the G82 coupe and G83 convertible as the M4. The F8x cars use the S55 engine; the G8x cars use the S58.
The fastest way is to decode your VIN, which encodes the platform in its descriptor section. The VIN Decoder identifies the chassis code automatically for most BMWs and also returns the engine code.
Related