Diagnostics · updated 29.10.2026
How an OBD-II fault code is structured
An OBD-II Diagnostic Trouble Code (DTC) consists of a letter and four characters, for example P0300.
The first letter — system
| Letter | System | | --- | --- | | P | Powertrain: engine and transmission | | B | Body: airbags, climate control, interior electrics | | C | Chassis: ABS, steering, suspension | | U | Network for data exchange between modules (CAN) |
The second digit — whose code it is
0 — generic SAE standard code: means the same thing on all vehicles. 1 — manufacturer-specific code: the meaning depends on the make; documentation for this specific vehicle is required. 2 and 3 — mixed ranges: some codes are generic, some are factory-specific.
The third digit in P codes — subsystem
| Digit | Subsystem | | --- | --- | | 1, 2 | Fuel and air (mixture formation) | | 3 | Ignition and misfires | | 4 | Emissions reduction systems | | 5 | Speed and idle | | 6 | Control module and output circuits | | 7, 8, 9 | Transmission |
Why a code is not a diagnosis
The code indicates what the control module detected, not what has failed. For example, P0171 (lean mixture) may appear due to an air leak, a dirty mass air flow sensor or a weak fuel pump. Therefore, after reading the code, testing is required: live data, pressure, circuit resistance.