Technical Reference

BMW Engine Code Decoder

Complete reference to BMW engine codes — M, N, B, S series. Identify your engine from the VIN, build sheet, or engine stamp. Includes displacement, fuel type, and generation.

🔢
6+
Engine
Families
📋
50+
Individual
Codes
🔧
20+
Vetted BMW
Specialists
🏆
Part of
Engine Finders
Network

BMW engine codes follow a consistent pattern: a letter (family) + two digits (displacement) + optional suffix. The letter indicates the engine family: M (older), N (modern), B (latest modular), S (high-performance).

Full decoder table, variant notes, and how to verify your actual engine below.

BMW Engine Code Decoder Table

The table below lists the major BMW engine families and their common codes. For a complete list of every variant, refer to the individual Engine Knowledge Centre pages.

FamilyCodeDisplacementFuelTypical Applications
M (1980s–2000s)M472.0LDieselE46 320d, E90 320d
MM573.0LDieselE46 330d, E60 530d
N (2000s–2010s)N472.0LDieselF30 320d, E90 318d
NN573.0LDieselF10 530d, F15 X5 30d
NN202.0LPetrolF30 320i, F10 520i
NN553.0LPetrolF30 335i, F10 535i
NN634.4LPetrol (V8)F10 550i, F15 X5 50i
B (2014+)B472.0LDieselG20 320d, G30 520d
BB573.0LDieselG30 530d, G05 X5 30d
BB583.0LPetrolG20 340i, G30 540i
S (M Performance)S553.0LPetrolF80 M3, F82 M4
SS634.4LPetrol (V8)F90 M5, F85 X5 M
Older (M20, M30, M40, etc.)M20, M30, M40/M42/M43/M44VariousPetrolE30, E34, E36

Data compiled from BMW workshop manuals and production records [THIRD-PARTY — BMW TSB].

Family Key: What the First Letter Means

BMW engine codes always start with a letter that defines the engine family and era.

The digits after the letter indicate the approximate displacement in litres (e.g., N47 = 2.0L, B58 = 3.0L). The final letter(s) denote variant and generation.

Variant Suffixes & What They Mean

The suffix after the displacement code provides additional detail:

Sometimes the full code includes a letter for the generation (e.g., N47D20C vs N47D20A). The full variant can be identified from the engine stamp or VIN. For a detailed breakdown, refer to the engine number location guide.

Real-World Caveats

Not all BMW engines follow the exact pattern. Some older engines (e.g., M20) use a different numbering system. Additionally, engine codes can sometimes be confused with chassis codes. Always cross-check the engine number on the block itself, as this is the definitive identifier.

For cars after 2010, the engine code is also embedded in the VIN (positions 4–7). The VIN decoder tool can help extract this automatically. If you're still unsure, consult our engine code guide for model-specific fitment.

Common Mistakes When Identifying an Engine

How to Verify Your Engine Code on the Vehicle

The most reliable method is to read the engine number stamped on the engine block. This is usually located on the front left side (when viewed from the driver's seat) or on the top of the block near the intake manifold. The full engine number includes the code, variant, and unique serial number. You can also find the code on the build sheet (usually under the bonnet or inside the driver's door jamb) or decode the VIN using online tools (we recommend our VIN decoder). For older models, the engine code may be on a sticker on the timing cover.

If you have the VIN, the 4th–7th digits often indicate the engine type. For example, a VIN starting with WBA7A... might decode to a B58 engine. However, this can be ambiguous; the engine stamp is definitive.

Every Figure SourcedData from BMW workshop manuals and verified specialist interviews.

Last Verified April 2026Reviewed with current BMW production data.

20+ Vetted BMW SpecialistsReal-world verification of engine codes.

100% IndependentNo manufacturer influence – unbiased technical reference.

Need Help Identifying Your Engine?

If you're unsure which BMW engine you have, use our diagnostic wizard or get a specialist consultation.

COMPARE QUOTES NOW USE THE VIN DECODER →