OBD-II Trouble Codes
What the code means, what actually causes it, and how to work out which cause is yours — before you spend money on parts.
46 codes covered
Every code here is written by hand and ordered by how likely each cause actually is, cheapest checks first. A scan tool tells you the code; it doesn't tell you that a P0420 is a failing oxygen sensor or an exhaust leak far more often than it is the catalytic converter people replace.
Diagnose your vehicle Enter your year, make, model and the code — get ranked causes, repair videos and a parts listMisfire & ignition
- P0011 — Camshaft Position A — Timing Over-Advanced or System Performance (Bank 1)
The variable valve timing system is more advanced than commanded — usually a sludged oil-control solenoid rather than a broken camshaft. - P0016 — Crankshaft Position — Camshaft Position Correlation (Bank 1, Sensor A)
The camshaft and crankshaft aren't lining up where the computer expects — often a stretched timing chain or a stuck variable-valve-timing solenoid. - P0300 — Random/Multiple Cylinder Misfire Detected
The engine is misfiring, but the computer can't pin it to one cylinder — either it's wandering between cylinders or several are misfiring at once. - P0301 — Cylinder 1 Misfire Detected
Cylinder 1 specifically is failing to burn its fuel properly — the computer has isolated the problem to that one cylinder. - P0302 — Cylinder 2 Misfire Detected
Cylinder 2 specifically is failing to burn its fuel properly — the computer has isolated the problem to that one cylinder. - P0303 — Cylinder 3 Misfire Detected
Cylinder 3 specifically is failing to burn its fuel properly — the computer has isolated the problem to that one cylinder. - P0304 — Cylinder 4 Misfire Detected
Cylinder 4 specifically is failing to burn its fuel properly — the computer has isolated the problem to that one cylinder. - P0305 — Cylinder 5 Misfire Detected
Cylinder 5 specifically is failing to burn its fuel properly — the computer has isolated the problem to that one cylinder. - P0306 — Cylinder 6 Misfire Detected
Cylinder 6 specifically is failing to burn its fuel properly — the computer has isolated the problem to that one cylinder. - P0307 — Cylinder 7 Misfire Detected
Cylinder 7 specifically is failing to burn its fuel properly — the computer has isolated the problem to that one cylinder. - P0308 — Cylinder 8 Misfire Detected
Cylinder 8 specifically is failing to burn its fuel properly — the computer has isolated the problem to that one cylinder. - P0316 — Engine Misfire Detected on Startup (First 1000 Revolutions)
The engine misfired during the first few seconds after a cold start, then cleaned up once it was running. - P0325 — Knock Sensor 1 Circuit Malfunction (Bank 1)
The knock sensor that listens for detonation isn't reporting properly, so the ECU pulls timing as a precaution and the engine feels flat. - P0335 — Crankshaft Position Sensor A Circuit Malfunction
The sensor that tells the computer where the crankshaft is has dropped out — without it the engine may stall or refuse to start at all. - P0340 — Camshaft Position Sensor A Circuit Malfunction (Bank 1)
The camshaft position signal has failed, so the computer can't tell which stroke each cylinder is on — expect long cranking and rough running.
Fuel & air
- P0087 — Fuel Rail/System Pressure Too Low
Fuel pressure at the rail is below what the computer commanded — the engine is being starved, and it will get worse under load. - P0101 — Mass Air Flow Circuit Range/Performance Problem
The airflow sensor is reporting a number the computer doesn't believe given the throttle position and engine speed. - P0102 — Mass Air Flow Circuit Low Input
The airflow sensor's signal is too low — either it's failed, it's filthy, or its wiring is broken. - P0113 — Intake Air Temperature Sensor 1 Circuit High Input
The intake air temperature signal is pegged high — the computer is being told the incoming air is impossibly hot, usually because the circuit is open. - P0128 — Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature)
The engine isn't reaching its normal operating temperature in the time the computer expects — nearly always a thermostat stuck open. - P0171 — System Too Lean (Bank 1)
The engine is getting more air than the computer accounts for, and it has run out of room to add fuel to compensate — usually a vacuum leak or a dirty air sensor. - P0172 — System Too Rich (Bank 1)
Too much fuel for the air going in, and the computer has run out of room to take fuel away. - P0174 — System Too Lean (Bank 2)
Same lean condition as P0171, but on the engine's other cylinder bank — only V-shaped and flat engines can set this one. - P0175 — System Too Rich (Bank 2)
The rich-running condition of P0172, on the engine's second cylinder bank.
Oxygen sensors
- P0131 — O2 Sensor Circuit Low Voltage (Bank 1, Sensor 1)
The upstream oxygen sensor's voltage is stuck low, meaning it's reporting a permanently lean mixture — which may or may not be true. - P0133 — O2 Sensor Circuit Slow Response (Bank 1, Sensor 1)
The upstream oxygen sensor still works, but it's reacting too slowly for the computer to trim fuel accurately. - P0135 — O2 Sensor Heater Circuit Malfunction (Bank 1, Sensor 1)
The built-in heater in the upstream oxygen sensor has failed — the sensor can't reach operating temperature fast enough to be trusted. - P0141 — O2 Sensor Heater Circuit Malfunction (Bank 1, Sensor 2)
The heater in the downstream oxygen sensor — the one after the catalytic converter — has failed. - P2096 — Post Catalyst Fuel Trim System Too Lean (Bank 1)
The sensor after the catalytic converter is reading lean — most often a small exhaust leak rather than anything expensive.
Emissions
- P0401 — Exhaust Gas Recirculation Flow Insufficient Detected
Not enough exhaust gas is being recirculated back into the intake — usually carbon has blocked the passages. - P0402 — Exhaust Gas Recirculation Flow Excessive Detected
Too much exhaust gas is entering the intake — typically an EGR valve stuck open, which makes the engine idle badly. - P0420 — Catalyst System Efficiency Below Threshold (Bank 1)
The sensor after the catalytic converter says it isn't cleaning the exhaust as well as it should — but the converter itself is only sometimes the culprit. - P0430 — Catalyst System Efficiency Below Threshold (Bank 2)
The same catalytic converter efficiency failure as P0420, measured on the engine's second cylinder bank. - P0440 — Evaporative Emission System Malfunction
A general fault in the fuel vapour system — the broadest of the EVAP codes, so check for more specific ones alongside it. - P0441 — Evaporative Emission System Incorrect Purge Flow
Fuel vapour isn't flowing into the engine at the rate the computer expects — too much, too little, or at the wrong time. - P0442 — Evaporative Emission System Leak Detected (Small Leak)
A small leak in the fuel vapour system — harder to find than a gross leak because you usually can't see or hear it. - P0446 — Evaporative Emission System Vent Control Circuit Malfunction
The valve that lets the fuel vapour system breathe isn't responding properly — often it's simply blocked with dirt or spiderwebs. - P0455 — Evaporative Emission System Leak Detected (Gross Leak)
A large leak in the fuel vapour system — start with the gas cap, because it genuinely is the answer surprisingly often. - P0456 — Evaporative Emission System Leak Detected (Very Small Leak)
The smallest leak the system can detect — very often just the gas cap, and often intermittent.
Electrical & idle
- P0505 — Idle Air Control System Malfunction
The computer can't hold a steady idle — usually because the throttle body and idle passages are caked with carbon. - P0521 — Engine Oil Pressure Sensor/Switch Range/Performance
The oil pressure reading is implausible — treat it as a real pressure problem until you've proven it's just the sensor. - P0562 — System Voltage Low
Charging system voltage is below what the computer expects — most often a failing alternator, a bad belt, or corroded battery connections. - U0100 — Lost Communication With ECM/PCM 'A'
Modules on the vehicle's network have stopped hearing from the engine computer — usually a wiring or power problem rather than a dead computer.
Transmission
- P0700 — Transmission Control System Malfunction
Not a fault in itself — it's the transmission computer telling the engine computer to turn the light on. The real code is stored in the transmission module. - P0730 — Incorrect Gear Ratio
The ratio between input and output shaft speed doesn't match any gear the transmission should be in — it's slipping or not engaging properly. - P0741 — Torque Converter Clutch Circuit Performance or Stuck Off
The torque converter lock-up clutch isn't engaging when commanded — the usual complaint is a shudder at steady highway speed and worse fuel economy.
Don't see your code? The diagnostic tool handles any OBD-II code, plus manufacturer dash codes for motorcycles, ATVs, RVs, boats, tractors and small engines — and it works from a described symptom if you don't have a code at all.