If your check engine light just popped on and you’re staring at a code like P0420 or P0300 wondering what the hell it means… you’re in the right place.
I’ve been wrenching on cars and tuning ECUs for over 20 years. Street cars, track cars, daily drivers, you name it. I’ve seen thousands of these codes. Some are nothing. Some will leave you stranded.
Today I’m breaking down the Top 100 ECU Fault Codes in plain English. No textbook talk. Just real talk from the garage.
You’ll get:
- What the code actually means
- What usually causes it
- How serious it is
- What you can try yourself before throwing parts at it
Let’s get your car sorted.
How ECU Fault Codes Work (Quick & Simple)
Your car’s ECU (Engine Control Unit) is basically the brain. It watches dozens of sensors. When something’s off, it throws a code and turns on the check engine light.
Codes look like this:
- P0xxx – Generic powertrain (most common)
- P1xxx – Manufacturer specific
- P2xxx – Generic more recent
- C0xxx – Chassis
- B0xxx – Body
- U0xxx – Network/communication
We focus on the P codes because those are what 95% of you are dealing with.
Always start with a good OBD2 scanner. Don’t guess. Read the code, write it down, then clear it and see if it comes back.
Top 100 ECU Fault Codes Explained
I grouped the most common ones you’ll actually see. I put the absolute most frequent ones first with extra detail, then a big clean list of the rest.
The Real Heavy Hitters (These Come Up Constantly)
1. P0300 – Random/Multiple Cylinder Misfire
Engine is misfiring but not on one specific cylinder.
Common causes: Bad spark plugs, weak coils, dirty injectors, vacuum leak, low fuel pressure, or even a bad tank of gas.
Feels like: Rough idle, loss of power, shaking.
Fix tip: Start with plugs and wires/coils. Check for vacuum leaks with carb cleaner spray.
2. P0301 to P0308 – Cylinder Specific Misfire
Same as above but points to exact cylinder (P0301 = cylinder 1).
Usually coil pack or plug on that cylinder. Swap coil to another cylinder — if the code follows, you found it.
3. P0420 – Catalyst System Efficiency Below Threshold (Bank 1)
Your catalytic converter isn’t cleaning the exhaust like it should.
Common causes: Actually dying cat, bad downstream O2 sensor, exhaust leak, or engine running rich/lean for a long time.
Don’t just throw a cat at it. Check the O2 sensors and fix any running issues first.
4. P0430 – Same as P0420 but Bank 2
V6 and V8 engines.
5. P0171 – System Too Lean (Bank 1)
Too much air or not enough fuel.
Big causes: Vacuum leaks (very common), dirty MAF sensor, weak fuel pump, clogged injectors.
Spray brake cleaner around intake boots while idling — if RPM changes, you found the leak.
6. P0174 – System Too Lean (Bank 2)
7. P0172 – System Too Rich (Bank 1)
Opposite problem. Too much fuel.
Dirty MAF, leaking fuel pressure regulator, bad O2 sensor, or stuck injectors.
8. P0128 – Coolant Thermostat Below Regulating Temperature
Thermostat stuck open. Engine never reaches proper temp.
Easy fix on most cars. Cheap part.
9. P0455 – EVAP System Large Leak
Usually the gas cap. Seriously. Tighten it or replace it first.
Also cracked EVAP lines or bad purge valve.
10. P0456 – EVAP Small Leak
Same system, smaller leak. Harder to find. Smoke test is your friend.
11. P0113 – Intake Air Temperature Sensor High
Bad IAT sensor or wiring.
12. P0118 – Engine Coolant Temperature Sensor High
13. P0122 / P0123 – Throttle Position Sensor Low/High
14. P0130 to P0167 – All the Oxygen Sensor Codes
Upstream (pre-cat) and downstream.
P0135 / P0141 / P0155 / P0161 are heater circuit codes — very common.
15. P0401 – EGR Flow Insufficient
Carbon buildup in EGR valve or passages. Clean it.
Next Most Common (You’ll See These Weekly in Any Shop)
- P0442 – EVAP small leak (different from 0456)
- P0506 – Idle control lower than expected
- P0507 – Idle higher than expected
- P0700 – Transmission Control System Malfunction (just a flag — check for other trans codes)
- P0741 – Torque Converter Clutch circuit
- P0170 – Fuel Trim Malfunction
- P0325 – Knock Sensor circuit
- P0335 – Crankshaft Position Sensor
- P0340 – Camshaft Position Sensor
- P0351 to P0358 – Ignition Coil Primary/Secondary codes
- P0400 – EGR Flow Malfunction
- P0410 – Secondary Air Injection
- P0440 – EVAP general
- P0441 – EVAP incorrect flow
- P0446 – EVAP vent control
- P0500 – Vehicle Speed Sensor
- P0601 to P0606 – ECU internal memory/processor errors (scary but sometimes just low voltage)
- P0705 – Transmission Range Sensor
- P0715 – Input/Turbine Speed Sensor
- P0720 – Output Speed Sensor
- P0730 – Incorrect Gear Ratio
- P0841 to P0871 – Transmission fluid pressure sensor codes
- P1128 / P1129 – Closed loop fueling not reached (manufacturer)
- P1130 to P1138 – Various AF/O2 sensor codes (Toyota etc.)
- P1150 to P1155 – More AF sensor stuff
Fuel, Air & Sensor Codes You’ll Meet
- P0100 to P0105 – MAF/MAP sensor codes
- P0101 – MAF range/performance
- P0102 – MAF low input
- P0106 to P0108 – MAP sensor
- P0110 to P0112 – IAT sensor
- P0115 to P0117 – ECT sensor
- P0120 to P0124 – TPS codes
- P0131 to P0134 – O2 sensor circuit bank 1 sensor 1
- P0136 to P0139 – O2 bank 1 sensor 2
- P0151 to P0154 – O2 bank 2 sensor 1
- P0200 to P0208 – Injector circuit codes
- P0217 – Engine overtemp
- P0218 – Transmission overtemp
- P0220 to P0229 – Throttle/Pedal sensor
- P0230 to P0232 – Fuel pump circuit
- P0299 – Turbo underboost (super common on modern turbos)
- P0300 already covered
- P0315 – Crankshaft variation not learned
- P0320 to P0324 – Ignition/distributor engine speed
- P0330 – Knock sensor bank 2
Cam, Crank, VVT & Timing Codes
- P0341 to P0344 – Cam sensor performance
- P0345 to P0349 – Cam sensor bank 2
- P0365 to P0369 – Cam sensor exhaust
- P0010 to P0011 – Camshaft position actuator (VVT)
- P0012 – Cam timing over-retarded
- P0013 to P0017 – More VVT and correlation codes
- P0016 – Cam/Crank correlation bank 1
- P0017 – Cam/Crank correlation bank 1 exhaust
- P0018 / P0019 – Bank 2 correlation
- P0020 to P0025 – Bank 2 VVT
Exhaust, Cat & EVAP Deep Cuts
- P0421 – Warm up catalyst efficiency
- P0431 – Warm up cat bank 2
- P0443 – EVAP purge control valve
- P0449 – EVAP vent valve/solenoid
- P0451 to P0454 – EVAP pressure sensor
- P0457 – EVAP leak (gas cap loose)
- P0460 to P0463 – Fuel level sensor
- P0480 to P0483 – Cooling fan codes
- P0496 – EVAP high purge flow
- P050A to P050B – Cold start idle codes
Transmission & Drivetrain Regulars
- P0701 to P0703 – Trans control range
- P0710 to P0714 – Trans fluid temp
- P0716 to P0717 – Turbine speed
- P0725 – Engine speed input
- P0731 to P0736 – Gear ratio codes specific gears
- P0740 – Torque converter clutch
- P0750 to P0770 – Shift solenoid codes
- P0776 / P0777 – Pressure control solenoid
- P0790 to P0797 – More pressure and intermediate shaft
- P0810 to P0880 – Various clutch and range switches
Network, ECU & Miscellaneous That Still Matter
- P0600 – Serial communication link
- P0627 to P0629 – Fuel pump control
- P0641 to P0651 – Sensor reference voltage
- P0685 to P068A – ECM power relay
- P0700 already listed
- P0A80 – Hybrid battery replace (getting more common)
- P0A0F – Hybrid engine failed to start
- P2096 / P2097 – Post catalyst fuel trim lean/rich
- P2195 to P2198 – O2 sensor stuck signal
- P2610 – ECM/PCM internal engine off timer
Quick Real-World Advice From the Garage
- Battery voltage matters more than people think. Weak battery or bad ground = ghost codes.
- Clear the code, drive it properly (mixed city/highway), then recheck.
- Freeze frame data is gold. It shows exactly when the code set (rpm, load, temp).
- On European cars and newer domestics, one code often brings friends. Fix the root cause.
- If you’re tuning (Stage 1, 2, etc.), some codes are normal until you get the tune dialed. Others mean you went too far.
Tools I Actually Recommend
A decent Bluetooth OBD2 scanner + Torque Pro or OBD Fusion app will save you hundreds. For deeper stuff, a real bidirectional scan tool pays for itself.
There you go. The top 100 ECU fault codes explained like a buddy who actually works on cars every day would tell you.
Bookmark this page. Next time the light comes on, you’ll know exactly what’s up instead of panicking or getting robbed at a shop.
Now go fix that car and enjoy the drive. You’ve got this.
Any specific code giving you hell right now? Drop it in the comments — I read them all and try to help.
Drive safe,