DTC Trouble Code Library

Definitions, severity levels, drivability guidance and diagnostic test steps for 59 OBD2 trouble codes.

That code isn't in the verified library yet — OBDAssistant will read it directly from your vehicle and diagnose it against your live data.

Get OBDAssistant on Google Play

Automotive Diagnostic Trouble Codes: Architecture & Diagnostic Principles

Every modern road vehicle relies on a standardized diagnostic protocol governed by SAE J2012 and ISO 15031 standards. When your instrument cluster illuminates the Check Engine Light (or Malfunction Indicator Lamp, MIL), the vehicle's onboard microcontrollers have logged a standardized 5-character Diagnostic Trouble Code (DTC). Interpreting these codes correctly requires understanding vehicle system prefixes, DTC operational states, and the fundamental mechanics of sensor circuits.

1. How the P, B, C, and U Prefix Maps to Vehicle Systems

The leading letter designates the specific physical domain and network architecture responsible for the reported event:

2. Code States: Pending, Stored, and Permanent (Mode 0A) Codes

Trouble codes exist in distinct functional states within the ECU's non-volatile memory:

3. Why a Trouble Code Names a Circuit or Symptom, Not a Failed Part

A frequent error among DIY vehicle owners and inexperienced technicians is treating a DTC as a component replacement order. Diagnostic trouble codes identify that an electrical signal, voltage threshold, or algorithmic calculation fell outside calibrated boundaries—they do not inspect mechanical components directly. For instance, code P0420 indicates catalyst system efficiency below threshold; an unmetered vacuum leak, an exhaust header pinhole, or a contaminated oxygen sensor heater can mimic a depleted catalytic converter. Replacing the catalytic converter without performing circuit signal tests often results in the immediate return of the trouble code.

4. Why Freeze Frame Telemetry is Mandatory Before Clearing Codes

When an ECU stores a confirmed trouble code, it creates an instantaneous data buffer known as Freeze Frame Data (Mode 02). This snapshot records engine RPM, calculated load percentage, vehicle speed, short-term and long-term fuel trim values, and engine coolant temperature at the exact millisecond the diagnostic logic tripped. Examining freeze frame data allows technicians to distinguish between a lean code caused by a vacuum leak (high positive trim at idle, normalizing at cruise) versus a fuel pump starvation issue (normal trim at idle, severely lean under load). Clearing codes prematurely destroys this baseline evidence.

Powertrain Diagnostic Codes (55)

P0011
Camshaft Position A - Timing Over-Advanced (Bank 1)
P0016
Crankshaft Position - Camshaft Position Correlation (Bank 1 Sensor A)
P0021
Camshaft Position A - Timing Over-Advanced (Bank 2)
P0087
Fuel Rail/System Pressure - Too Low
P0101
Mass Air Flow (MAF) Circuit Range/Performance Problem
P0102
Mass Air Flow (MAF) Circuit Low Input
P0106
Manifold Absolute Pressure (MAP) Sensor Circuit Range/Performance
P0113
Intake Air Temperature Sensor 1 Circuit High Input
P0121
Throttle/Pedal Position Sensor A Circuit Range/Performance
P0128
Coolant Temperature Below Thermostat Regulating Temperature
P0131
O2 Sensor Circuit Low Voltage (Bank 1, Sensor 1)
P0135
O2 Sensor Heater Circuit Malfunction (Bank 1 Sensor 1)
P0141
O2 Sensor Heater Circuit Malfunction (Bank 1 Sensor 2)
P0171
System Too Lean (Bank 1)
P0172
System Too Rich (Bank 1)
P0175
System Too Rich (Bank 2)
P0201
Injector Circuit Malfunction - Cylinder 1
P0202
Injector Circuit Malfunction - Cylinder 2
P0203
Injector Circuit Malfunction - Cylinder 3
P0204
Injector Circuit Malfunction - Cylinder 4
P0205
Injector Circuit Malfunction - Cylinder 5
P0206
Injector Circuit Malfunction - Cylinder 6
P0300
Random or Multiple Cylinder Misfire Detected
P0301
Cylinder 1 Misfire Detected
P0302
Cylinder 2 Misfire Detected
P0303
Cylinder 3 Misfire Detected
P0304
Cylinder 4 Misfire Detected
P0305
Cylinder 5 Misfire Detected
P0306
Cylinder 6 Misfire Detected
P0307
Cylinder 7 Misfire Detected
P0308
Cylinder 8 Misfire Detected
P0325
Knock Sensor 1 Circuit Malfunction (Bank 1)
P0335
Crankshaft Position Sensor A Circuit Malfunction
P0340
Camshaft Position Sensor A Circuit Malfunction (Bank 1)
P0341
Camshaft Position Sensor A Circuit Range/Performance
P0401
Exhaust Gas Recirculation (EGR) Flow Insufficient
P0420
Catalyst System Efficiency Below Threshold (Bank 1)
P0430
Catalyst System Efficiency Below Threshold (Bank 2)
P0442
Evaporative Emission System Leak Detected (Small Leak)
P0446
Evaporative Emission System Vent Control Circuit Malfunction
P0449
Evaporative Emission System Vent Valve/Solenoid Circuit
P0455
Evaporative Emission System Leak Detected (Gross Leak)
P0456
Evaporative Emission System Leak Detected (Very Small Leak)
P0463
Fuel Level Sensor A Circuit High Input
P0505
Idle Control System Malfunction
P0507
Idle Control System RPM Higher Than Expected
P0562
System Voltage Low
P0601
Internal Control Module Memory Check Sum Error
P0606
ECM/PCM Processor Fault
P0700
Transmission Control System (MIL Request)
P0705
Transmission Range Sensor Circuit Malfunction (PRNDL Input)
P0715
Input/Turbine Speed Sensor Circuit Malfunction
P0720
Output Speed Sensor Circuit Malfunction
P0741
Torque Converter Clutch Circuit Performance / Stuck Off
P1000
OBD Systems Readiness Test Not Complete

Body Control Codes (1)

Chassis & Braking Codes (1)

Network & Communication Codes (2)