You want a carbon fiber lip for your BMW. You search "BMW 3 Series front lip," and the results show parts for the G20, the F30, the G80, and something labelled M Sport. Half of them will not fit your car, and the photos all look broadly similar.
BMW's chassis codes exist precisely to solve this, and once you can read them, buying exterior parts stops being guesswork. This guide covers how the codes work, how to find yours, and the three trim distinctions that cause the most wrong orders.
How BMW Chassis Codes Work
Every BMW generation gets an internal code. The letter indicates roughly when the platform generation was introduced, and the number identifies the specific model and body style.
- E — older generations, broadly 1990s through late 2000s
- F — roughly 2010 through the late 2010s
- G — current generation, from around 2017 onward
- U — newer front-wheel-drive-based and some recent models
- I — electric models such as the i3 and i8
The important practical point: a chassis code change means new body panels. An F30 lip will not fit a G20 no matter how similar the cars look in photos. This is the single most common cause of returns in BMW exterior parts.
The Codes You Actually Need
3 Series
- E90/E91/E92/E93 (2005–2013) — sedan, touring, coupe, convertible respectively
- F30/F31/F34 (2012–2019) — sedan, touring, GT
- G20/G21 (2019–present) — sedan, touring
M3 and its siblings
- E92 M3 (2007–2013) — coupe
- F80 M3 (2014–2018) — sedan
- G80 M3 (2021–present) — sedan; G81 is the Touring
4 Series
- F32/F33/F36 (2013–2020) — coupe, convertible, Gran Coupe
- G22/G23/G26 (2020–present) — coupe, convertible, Gran Coupe
- F82 M4 (2014–2020); G82/G83 M4 (2021–present)
2 Series
- F22/F23 (2014–2021) — coupe, convertible
- G42 (2022–present) — coupe
- F87 M2 (2016–2021); G87 M2 (2023–present)
X5
- E70 (2007–2013), F15 (2014–2018), G05 (2019–present)
- F95 X5 M — the full M version, with its own bumpers
5 Series
- F10 (2011–2016), G30 (2017–2023), G60 (2024–present)
How to Find Your Own Chassis Code
Three reliable methods, in order of ease:
- Check the driver's door jamb sticker. BMW lists a type designation there — a short alphanumeric code. A VIN decoder will translate it.
- Run your VIN through a BMW VIN decoder. Several free tools return the full build sheet, including the chassis code and every factory option your car left the plant with. This is the most reliable method, because it also shows your packages.
- Match by model year and body style using the lists above. Fast, but be careful around transition years — a car registered as a 2019 3 Series could be an F30 or a G20 depending on build date.
The Three Distinctions That Cause Wrong Orders
1. M Sport versus base bumpers
This catches more people than the chassis code itself. The M Sport package includes different front and rear bumpers — typically with larger lower air intakes and a more aggressive lower valance — plus side skirt extensions.
Most aftermarket lips, splitters and diffusers are designed for the M Sport bumper, because that is what most enthusiast buyers have. Fit one to a base or Luxury Line bumper and it will not follow the contour.
How to check: pull your build sheet from a VIN decoder and look for the M Sport package in the option list. Visually, M Sport cars have noticeably larger lower intakes and no chrome trim around the lower fascia. If you are unsure, photograph your front bumper straight on and compare it against the product photos.
2. M Performance versus full M
An M340i is not an M3. A M240i is not an M2. An X5 M50i is not an X5 M.
M Performance models — the ones with a number and an "i" like M340i, M440i, M240i — are built on the standard chassis code (G20, G22, G42) with the M Sport bumper. Full M cars get their own chassis codes (G80, G82, G87) and their own wider bodywork and bumpers.
Parts do not cross over at the front or rear. A G80 M3 lip will not fit a G20 M340i, even though both are "3 Series" and both have M badging. Some smaller parts, such as mirror caps and antenna covers, do cross over because those components are shared.
3. Pre-LCI versus LCI
BMW gives each generation a mid-cycle facelift, called LCI (Lebenszyklusimpuls). An LCI typically changes headlights, taillights and often the bumpers — within the same chassis code.
So "fits G20" is not always sufficient. If the part touches the front or rear fascia, you need to know whether your car is pre-LCI or LCI, and the listing needs to say which it is made for.
Roughly: the G20 3 Series received its LCI for the 2023 model year; the G05 X5 for 2024. Check the specific year split on any listing for front or rear parts.
Parts That Cross Over More Than You'd Expect
Not everything is chassis-specific. Components shared across platforms are often listed for long strings of codes, and that is legitimate rather than lazy fitment data.
Mirror caps are the clearest example — BMW uses the same mirror housing across the G42, G20, G22, G23, G26 and i4, so one part genuinely fits all of them.
Note the two antenna covers above: same part concept, different chassis generations. The F-series and G-series roof profiles differ, so the covers are not interchangeable — a good illustration of why the code matters even on small parts.
Chassis-Specific Parts: Buy by Code
Anything that bonds to the front or rear fascia, or runs along the sills, is specific to both the chassis code and the trim. These are examples of correctly coded listings — note that each names the exact chassis and year range.
Prices shown at time of writing.
A Note on Trunk Spoilers
Spoilers are the one category where cross-fitment is common and legitimate. The F30 sedan and F80 M3 share a boot lid, so one spoiler fits both — the M3's wider track and different bumpers do not change the trunk shape. The same applies to the F22 2 Series and F87 M2.
What you cannot do is cross body styles. A sedan spoiler will not fit a coupe or a Gran Coupe, because the boot lid geometry is entirely different.
Before You Order: A 60-Second Check
- Confirm your chassis code via VIN decoder or door jamb sticker.
- Confirm M Sport or base from your build sheet, if the part touches a bumper.
- Confirm pre-LCI or LCI if your generation has had a facelift.
- Confirm body style — sedan, touring, coupe, Gran Coupe — for anything on the boot lid.
- Confirm left- or right-hand drive for mirror caps, which are often side-specific.
- Compare the product photo to your own car, straight on, before you click buy.
Quick Reference
| Model | Previous gen | Current gen |
|---|---|---|
| 3 Series sedan | F30 (2012–2019) | G20 (2019–) |
| M3 | F80 (2014–2018) | G80 (2021–) |
| 4 Series coupe | F32 (2013–2020) | G22 (2020–) |
| M4 | F82 (2014–2020) | G82 / G83 (2021–) |
| 2 Series coupe | F22 (2014–2021) | G42 (2022–) |
| M2 | F87 (2016–2021) | G87 (2023–) |
| X5 | F15 (2014–2018) | G05 (2019–) |
| 5 Series | G30 (2017–2023) | G60 (2024–) |
Frequently Asked Questions
How do I find my BMW's chassis code?
Run your VIN through a BMW VIN decoder for the full build sheet, or check the type designation on the driver's door jamb sticker. Matching by model year works too, but be careful in transition years.
Will G80 M3 parts fit my M340i?
Front and rear parts, no. The M340i is a G20 with the M Sport bumper; the M3 is a G80 with its own wider bodywork. Shared components like mirror caps and antenna covers do fit both.
What does LCI mean?
Lebenszyklusimpuls — BMW's mid-cycle facelift. It usually changes lights and bumpers within the same chassis code, so front and rear parts often differ between pre-LCI and LCI cars.
How do I know if I have the M Sport package?
Check your build sheet through a VIN decoder. Visually, M Sport cars have larger lower air intakes, a more aggressive lower valance and no chrome trim around the lower fascia.
Do F30 spoilers fit an F80 M3?
Yes. The F30 sedan and F80 M3 share the same boot lid, so trunk spoilers cross over. Body styles do not — a sedan spoiler will not fit a coupe.
Why do mirror caps list so many chassis codes?
Because BMW uses a shared mirror housing across several current models, including the G42, G20, G22, G23, G26 and i4. That is genuine cross-fitment, not careless listing data.








