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

How to read diagnostic trouble codes
Each character in an OBD2 code narrows down where the problem is. Taking P0420 as an example:
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.
| Code | Meaning | Complaints | Bulletins |
|---|---|---|---|
| P0302Cylinder 2 misfire | Cylinder 2 misfire | 471 | 428 |
| P0300Random or multiple cylinder misfire | Random or multiple cylinder misfire | 465 | 1,101 |
| P0303Cylinder 3 misfire | Cylinder 3 misfire | 408 | 401 |
| P0304Cylinder 4 misfire | Cylinder 4 misfire | 386 | 486 |
| P0301Cylinder 1 misfire | Cylinder 1 misfire | 370 | 456 |
| P0420Catalyst efficiency below threshold, bank 1 | Catalyst efficiency below threshold, bank 1 | 367 | 298 |
| P0700Transmission control system fault | Transmission control system fault | 291 | 24 |
| P0087Fuel rail pressure too low | Fuel rail pressure too low | 212 | 322 |
| P0016Crankshaft / camshaft position correlation, bank 1 | Crankshaft / camshaft position correlation, bank 1 | 191 | 228 |
| P0456EVAP system very small leak | EVAP system very small leak | 177 | 627 |
| P0014Camshaft timing over-advanced, bank 1 exhaust | Camshaft timing over-advanced, bank 1 exhaust | 162 | 130 |
| P0171System too lean, bank 1 | System too lean, bank 1 | 158 | 247 |
| P0299Turbocharger underboost | Turbocharger underboost | 157 | 320 |
| P0741Torque converter clutch stuck off | Torque converter clutch stuck off | 138 | 65 |
| P0128Coolant temperature below thermostat range | Coolant temperature below thermostat range | 132 | 234 |
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
- P0171
The engine computer is adding much more fuel than expected on bank 1, usually because air is getting in that it never measured.
158 complaints · 247 bulletins
- P0300
The engine computer has counted misfires that move between cylinders or hit more than one at a time.
465 complaints · 1,101 bulletins
- P0420
The engine computer thinks the bank 1 catalytic converter is no longer cleaning the exhaust well enough.
367 complaints · 298 bulletins
See the methodology for how complaints and bulletins are matched to a code.