Diagnostic trouble codes (OBD2)

Diagnostic trouble codes are the five-character codes your car's computer stores when the check engine light comes on. Every car sold in the US since 1996 uses the same OBD2 format, so the same code means the same failed test on a Ford or a Toyota. What fixes it is a different question, and that is what the pages here are built around.

Engine codes tracked
59
Codes with a full page
3
Cutaway illustration of a four-cylinder engine with the ignition coils, intake airflow sensor, catalytic converter and oxygen sensors highlighted

How to read diagnostic trouble codes

Each character in an OBD2 code narrows down where the problem is. Taking P0420 as an example:

PSystemP powertrain, B body, C chassis, U network
0Code type0 generic (same for every brand), 1 set by the manufacturer
4Subsystem1–2 fuel and air, 3 ignition and misfire, 4 emissions, 5 idle and speed, 6 computer, 7–8 transmission
20Specific faultwhich test failed within that subsystem

A code tells you which test the computer ran and which one failed. It does not name a broken part. Two cars with the same code can need very different repairs, which is why each page below shows what owners reported and what manufacturers told their dealers.

Engine codes owners mention most in NHTSA complaints

We counted every complaint filed with NHTSA since 2010 that names one of the engine codes we track. The ranking below is by owner complaints. Codes with a full page are linked.

CodeMeaningComplaintsBulletins
P0302Cylinder 2 misfireCylinder 2 misfire471428
P0300Random or multiple cylinder misfireRandom or multiple cylinder misfire4651,101
P0303Cylinder 3 misfireCylinder 3 misfire408401
P0304Cylinder 4 misfireCylinder 4 misfire386486
P0301Cylinder 1 misfireCylinder 1 misfire370456
P0420Catalyst efficiency below threshold, bank 1Catalyst efficiency below threshold, bank 1367298
P0700Transmission control system faultTransmission control system fault29124
P0087Fuel rail pressure too lowFuel rail pressure too low212322
P0016Crankshaft / camshaft position correlation, bank 1Crankshaft / camshaft position correlation, bank 1191228
P0456EVAP system very small leakEVAP system very small leak177627
P0014Camshaft timing over-advanced, bank 1 exhaustCamshaft timing over-advanced, bank 1 exhaust162130
P0171System too lean, bank 1System too lean, bank 1158247
P0299Turbocharger underboostTurbocharger underboost157320
P0741Torque converter clutch stuck offTorque converter clutch stuck off13865
P0128Coolant temperature below thermostat rangeCoolant temperature below thermostat range132234

Misfire codes dominate the list. The cylinder-specific codes P0301 to P0304 each draw hundreds of complaints, and together with P0300 they make up the largest group of OBD2 codes owners write to NHTSA about.

Check engine light codes with a full page

See the methodology for how complaints and bulletins are matched to a code.