Is your OBD2 scanner showing a code you don't understand? This complete list explains what each fault code means, the most likely causes, and what to do about it.
Contents
- How do you read an OBD2 code?
- P Codes — Engine & Transmission (the most common)
- P1 Codes — Common manufacturer codes
- B Codes — Body & Comfort
- U Codes — Network & Communication
- C Codes — Chassis, ABS & Braking
- Generic codes vs manufacturer codes: what's the difference?
- Understanding "monitors" and freeze frame data
- What to do once you've found the code
How do you read an OBD2 code?

Every OBD2 code is made up of 5 characters:
- 1st letter: P (Powertrain/engine), B (Body), C (Chassis), U (Network)
- 2nd digit: 0 = standard code, 1 = manufacturer code
- 3rd digit: system affected (1=fuel, 2=injection, 3=ignition...)
- 4th and 5th: specific fault number
P Codes — Engine & Transmission (the most common)
🔧 OBD2 scanner for reading engine codes
Read and clear engine (P) codes yourself in under 5 minutes
View scanners →P1 Codes — Common manufacturer codes
B Codes — Body & Comfort
U Codes — Network & Communication
C Codes — Chassis, ABS & Braking
Codes starting with C relate to chassis systems: ABS, traction control, power steering, adaptive suspension. They're less common than P codes but often more sensitive, since they're linked to the vehicle's active safety.
Generic codes vs manufacturer codes: what's the difference?
A generic code (2nd character = 0, e.g. P0300) is standardised by the SAE standard and means the same thing across every make. A manufacturer code (2nd character = 1, e.g. P1176) is only documented by the vehicle's manufacturer — its meaning can vary from one make to another, or even from one model to another within the same manufacturer. A basic OBD2 scanner generally reads generic P0 codes well, but some very specific P1 codes sometimes need a more complete manufacturer database to be translated into plain text rather than a simple numeric reference.
Understanding "monitors" and freeze frame data
When a code appears, the control unit also records a freeze frame — a snapshot of the engine parameters (RPM, temperature, load, speed) at the exact moment the fault was detected. This data, accessible from the scanner's menu, helps you understand the conditions under which the fault occurs (cold start, acceleration, idling...).
OBD monitors (or "readiness tests") are self-checks the control unit continuously runs on emissions-related systems (catalytic converter, oxygen sensor, EVAP...). After clearing a code, these monitors reset to "incomplete" and need to be revalidated through several kilometres of varied driving before the next roadworthiness test — otherwise the test can be refused for incomplete monitors, even if no fault is present.
What to do once you've found the code
- 🟢 Simple code (fuel cap, filter...): fix it yourself and clear it
- 🟡 Common engine code: look up the part on a car parts site and compare prices before going to the garage
- 🔴 Airbag, ABS, brake code: always consult a professional
Whatever the case, note down the exact code before clearing it — it becomes harder to identify with certainty if the light goes off and the symptom doesn't reappear straight away.
🛒 Your engine code scanner
€24.99 — reads engine (P) codes — free delivery — compatible with all makes from 2001
Order →