OBD2 check engine codes

What does my check engine code mean?

Plain-English guides to OBD2 trouble codes, with how serious each one is, likely causes, DIY checks, and when to see a mechanic. Every guide cites its sources.

Dashboard warning lights

All warning lights →

Browse by code family

Popular codes

P0011

"A" Camshaft Position - Timing Over-Advanced or System Performance (Bank 1)

P0011 means the engine computer commanded the Bank 1 'A' camshaft (usually the intake cam) to a certain variable valve timing posi…

🔧 Engine timing / variable valve timing
P0014

"B" Camshaft Position - Timing Over-Advanced or System Performance (Bank 1)

P0014 means the engine computer commanded the Bank 1 'B' camshaft (usually the exhaust cam) to a certain variable valve timing pos…

🔧 Engine timing / variable valve timing
P0016

Crankshaft Position - Camshaft Position Correlation (Bank 1 Sensor A)

P0016 means the engine computer sees the crankshaft and the Bank 1 intake ('A') camshaft out of time with each other by more than …

🔧 Engine timing / cam and crank sensors
P0017

Crankshaft Position - Camshaft Position Correlation (Bank 1 Sensor B)

P0017 means the engine computer sees the crankshaft and the Bank 1 'B' camshaft (usually the exhaust cam) out of time with each ot…

🔧 Engine timing / cam and crank sensors
P0030

HO2S Heater Control Circuit (Bank 1, Sensor 1)

P0030 means the engine computer has found a fault in the heater control circuit of the front (upstream) oxygen sensor on Bank 1. A…

🌫 Emissions / oxygen sensors
P0087

Fuel Rail/System Pressure Too Low

P0087 means the engine computer saw fuel pressure at the fuel rail lower than it wanted. A low fuel level, a weak fuel pump, a clo…

⛽ Fuel / fuel pressure
P0089

Fuel Pressure Regulator 1 Performance

P0089 means the engine computer has decided the fuel pressure regulator isn't keeping fuel pressure where it commanded. The regula…

⛽ Fuel / fuel pressure regulator
P0100

Mass Air Flow (MAF) Circuit Malfunction

P0100 means the engine computer has found a problem with the mass air flow (MAF) sensor or its circuit. The most common causes are…

🔧 Air intake / mass air flow sensor
P0101

Mass Air Flow (MAF) Circuit Range/Performance

P0101 means the engine computer thinks the mass air flow (MAF) sensor's reading doesn't make sense compared with what it expects. …

🔧 Air intake / mass air flow sensor
P0102

Mass Air Flow (MAF) Circuit Low

P0102 means the engine computer is seeing a signal from the mass air flow (MAF) sensor that is lower than it should be. The most c…

🔧 Air intake / mass air flow sensor
P0106

MAP/Barometric Pressure Circuit Range/Performance

P0106 means the engine computer sees a manifold absolute pressure (MAP) or barometric pressure reading that doesn't make sense for…

🔧 Air intake / manifold absolute pressure (MAP) sensor
P0113

Intake Air Temperature (IAT) Sensor 1 Circuit High

P0113 means the engine computer is seeing a signal from the intake air temperature (IAT) sensor that is too high, which the sensor…

🔧 Air intake / intake air temperature sensor
P0128

Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature)

P0128 means the engine didn't reach its expected temperature within the expected time after starting. Most often the thermostat is…

🌡 Cooling
P0135

O2 Sensor Heater Circuit Malfunction (Bank 1, Sensor 1)

P0135 means the engine computer has decided the heater inside the front (upstream) oxygen sensor on Bank 1 isn't working. A failed…

🌫 Emissions / oxygen sensors
P0138

O2 Sensor Circuit High Voltage (Bank 1, Sensor 2)

P0138 means the downstream oxygen sensor (after the catalytic converter) on Bank 1 is reporting a voltage that stays too high for …

🌫 Emissions / oxygen sensors
P0141

O2 Sensor Heater Circuit Malfunction (Bank 1, Sensor 2)

P0141 means the engine computer has decided the heater inside the downstream (after the catalytic converter) oxygen sensor on Bank…

🌫 Emissions / oxygen sensors
P0171

System Too Lean (Bank 1)

P0171 means the oxygen sensor on Bank 1 sees too much oxygen in the exhaust, and the engine computer can't add enough fuel to hold…

⛽ Fuel / air metering
P0172

System Too Rich (Bank 1)

P0172 means the oxygen sensor on Bank 1 sees too little oxygen in the exhaust: the mixture has too much fuel for the air, and the …

⛽ Fuel / air metering
P0174

System Too Lean (Bank 2)

P0174 means the upstream oxygen sensor on Bank 2 sees too much oxygen in the exhaust, and the engine computer has hit its limit on…

⛽ Fuel / air metering
P0193

Fuel Rail Pressure Sensor A Circuit High

P0193 means the engine computer is getting a fuel rail pressure sensor signal that reads too high. Most often it is the sensor its…

⛽ Fuel / fuel rail pressure sensor
P0299

Turbocharger/Supercharger "A" Underboost Condition

P0299 means the engine computer asked the turbocharger or supercharger for more boost than it actually delivered. Boost leaks, a f…

🔧 Air intake / Turbo
P0300

Random/Multiple Cylinder Misfire Detected

P0300 means the engine computer has detected misfires that aren't limited to one cylinder, or that move between cylinders. It does…

⚡ Ignition / misfire
P0301

Cylinder 1 Misfire Detected

P0301 means the engine computer has detected that cylinder 1 isn't firing properly. The most common culprits are ignition parts (s…

⚡ Ignition / engine misfire
P0302

Cylinder 2 Misfire Detected

P0302 means the engine computer has detected that cylinder 2 isn't firing properly. Both sources say ignition problems (spark plug…

⚡ Ignition / engine misfire
P0303

Cylinder 3 Misfire Detected

P0303 means the engine computer has detected that cylinder 3 isn't firing properly. Worn spark plugs, plug wires or ignition coils…

⚡ Ignition / engine misfire
P0304

Cylinder 4 Misfire Detected

P0304 means the engine computer has detected that cylinder 4 isn't firing properly. Worn spark plugs, plug wires or ignition coils…

⚡ Ignition / engine misfire
P0305

Cylinder 5 Misfire Detected

P0305 means the engine computer has detected that cylinder 5 isn't firing properly. Worn spark plugs, plug wires or ignition coils…

⚡ Ignition / engine misfire
P0306

Cylinder 6 Misfire Detected

P0306 means the engine computer has detected that cylinder 6 isn't firing properly. OBD-Codes.com says it's most often an ignition…

⚡ Ignition / engine misfire
P0312

Cylinder 12 Misfire Detected

P0312 means the engine computer has detected that cylinder 12 isn't firing properly, or in RepairPal's words, isn't sufficiently c…

⚡ Ignition / engine misfire
P0322

Ignition/Distributor Engine Speed Input Circuit No Signal

P0322 means the engine computer (PCM) isn't getting a usable engine speed signal from the ignition, distributor or crankshaft posi…

⚡ Ignition / engine speed sensing (crankshaft and camshaft position)
P0325

Knock Sensor 1 Circuit Malfunction (Bank 1 or Single Sensor)

P0325 means the engine computer sees a problem in the circuit for knock sensor 1 (bank 1, or the only knock sensor). The cause can…

⚡ Ignition / knock control
P0335

Crankshaft Position Sensor "A" Circuit Malfunction

P0335 means the engine computer is seeing no signal, or a faulty signal, from crankshaft position sensor 'A'. The cause can be the…

🔧 Engine timing / cam and crank sensors
P0340

Camshaft Position Sensor "A" Circuit Malfunction

P0340 means the engine computer isn't getting a usable signal from camshaft position sensor 'A'. Because the code covers the whole…

🔧 Engine timing / cam and crank sensors
P0341

Camshaft Position Sensor "A" Circuit Range/Performance

P0341 means the engine computer is getting a camshaft position signal, but the signal doesn't match what it expects (out of range …

🔧 Engine timing / cam and crank sensors
P0380

Glow Plug/Heater Circuit "A"

P0380 means the engine computer has found a fault in glow plug circuit "A" on a diesel engine. Glow plugs heat the combustion cham…

🔧 Diesel engine starting / glow plugs
P0401

Exhaust Gas Recirculation (EGR) Flow Insufficient Detected

P0401 means the engine computer saw too little exhaust gas recirculation. Carbon-clogged EGR passages, a faulty DPFE sensor or a s…

🌫 Emissions / EGR
P0420

Catalyst System Efficiency Below Threshold (Bank 1)

P0420 means the engine computer thinks the catalytic converter on Bank 1 isn't cleaning the exhaust as well as it should. It compa…

🌫 Emissions / exhaust
P0430

Catalyst System Efficiency Below Threshold (Bank 2)

P0430 is the Bank 2 version of P0420: the engine computer thinks the catalytic converter on the side of the engine without cylinde…

🌫 Emissions / exhaust
P0440

Evaporative Emission (EVAP) Control System Malfunction

P0440 means the PCM found a problem in the EVAP system, which captures fuel vapor so it doesn't escape. Start with the gas cap, th…

🌫 Emissions / EVAP
P0441

Evaporative Emission (EVAP) System Incorrect Purge Flow

P0441 means the PCM saw the wrong amount of purge flow in the EVAP system, the part that sends stored fuel vapor into the engine t…

🌫 Emissions / EVAP
P0442

Evaporative Emission (EVAP) System Leak Detected (small leak)

P0442 means the EVAP system, which stores fuel vapor so it doesn't escape, has a small leak, as small as about 0.04 inch. Start wi…

🌫 Emissions / EVAP
P0446

Evaporative Emission (EVAP) System Vent Control Circuit Malfunction

P0446 points at the EVAP vent valve, the valve on the charcoal canister that lets fresh air in and seals the system for its leak t…

🌫 Emissions / EVAP
P0455

Evaporative Emission (EVAP) System Leak Detected (large leak / no purge flow)

P0455 means the EVAP system has a large leak or no purge flow. The most common fix is the gas cap: reseat it, clear the code, and …

🌫 Emissions / EVAP
P0456

Evaporative Emission (EVAP) System Leak Detected (very small leak)

P0456 means the PCM found a very small leak in the EVAP system, which stores fuel vapor so it doesn't escape. The most common caus…

🌫 Emissions / EVAP
P0457

Evaporative Emission (EVAP) System Leak Detected (fuel cap loose/off)

P0457 means the PCM found a leak in the EVAP system, most often a loose, damaged or missing gas cap. Check and reseat the cap firs…

🌫 Emissions / EVAP
P0496

EVAP System High Purge Flow

P0496 means fuel vapor is being pulled from the EVAP system into the engine when it shouldn't be. The most common cause is a purge…

🔧 Evaporative emissions (EVAP)
P0500

Vehicle Speed Sensor "A" Malfunction

P0500 means the engine computer isn't getting a believable vehicle speed signal from the vehicle speed sensor (VSS). A dead speedo…

🔧 Transmission / Speed sensing
P0504

Brake Switch A/B Correlation

P0504 means the engine computer sees the two signals from the brake light switch disagreeing with each other. The most common caus…

🔧 Brake light switch / brake pedal signal
P0505

Idle Air Control (IAC) System Malfunction

P0505 means the engine computer has a problem controlling idle speed through the idle air control (IAC) valve or motor. Stalling a…

🔧 Engine / Idle control
P0507

Idle Air Control System RPM Higher Than Expected

P0507 means the engine is idling faster than the computer wants it to. The most common culprits are an air or vacuum leak after th…

🔧 Idle control / air intake
P0520

Engine Oil Pressure Sensor/Switch Circuit

P0520 means the engine computer is getting a signal from the oil pressure sensor (or sender/switch) that's out of its normal range…

🔧 Engine lubrication / oil pressure sensor
P0521

Engine Oil Pressure Sensor/Switch Range/Performance

P0521 means the engine computer is seeing an unexpected reading from the oil pressure sensor: out of its normal range, or stuck at…

🔧 Engine lubrication / oil pressure sensor
P0524

Engine Oil Pressure Too Low

P0524 means the engine computer is reading oil pressure that's too low. That might be a real loss of oil pressure, which can wreck…

🔧 Engine lubrication / oil pressure
P0670

Glow Plug Control Module Circuit

P0670 is a diesel-engine code: the engine computer has found a problem in the circuit of the glow plug control module, the part th…

🔧 Diesel cold-start / glow plug system
P0671

Cylinder 1 Glow Plug Circuit

P0671 is a diesel-engine code: the engine computer has found a fault in the circuit of the glow plug for cylinder 1, so that plug …

🔧 Diesel cold-start / glow plug system
P0672

Cylinder 2 Glow Plug Circuit

P0672 is a diesel-engine code: the engine computer has found a fault in the circuit of the glow plug for cylinder 2, so that plug …

🔧 Diesel cold-start / glow plug system
P0673

Cylinder 3 Glow Plug Circuit

P0673 is a diesel-engine code: the engine computer has found a fault in the circuit of the glow plug for cylinder 3, so that plug …

🔧 Diesel cold-start / glow plug system
P0674

Cylinder 4 Glow Plug Circuit

P0674 is a diesel-engine code: the engine computer has found a fault in the circuit of the glow plug for cylinder 4, so that plug …

🔧 Diesel cold-start / glow plug system
P0683

Glow Plug Control Module to PCM Communication Circuit

P0683 is a diesel-engine code: the engine computer (PCM) can't communicate with the glow plug control module, so it can't reliably…

🔧 Diesel cold-start / glow plug system
P06DA

Engine Oil Pressure Control Circuit/Open

P06DA means the engine computer (ECM or PCM) has found an electrical fault, usually an open or high-resistance circuit, in the eng…

🔧 Engine lubrication / variable oil pump control solenoid
P06DD

Engine Oil Pressure Control Circuit Performance/Stuck Off

P06DD means the engine computer (ECM or PCM) has found that the engine oil pressure control system on a variable-pressure oil pump…

🔧 Engine lubrication / variable oil pump control solenoid
P0700

Transmission Control System Malfunction

P0700 means the transmission computer (TCM) has found a fault and told the engine computer to turn on the check engine light. P070…

🔧 Transmission / transmission control module
P2000

NOx Trap Efficiency Below Threshold (Bank 1)

P2000 means the engine computer measured more NOx (nitrogen oxides) after the NOx trap than its programmed limit allows on Bank 1.…

🌫 Emissions / diesel aftertreatment
P2002

Diesel Particulate Filter (DPF) Efficiency Below Threshold (Bank 1)

P2002 means the engine computer thinks the diesel particulate filter (DPF) on Bank 1 isn't working within its limits, usually judg…

🌫 Emissions / diesel aftertreatment
P2015

Intake Manifold Runner Position Sensor/Switch Circuit Range/Performance (Bank 1)

P2015 means the engine computer is getting an out-of-range reading from the bank 1 intake manifold runner position sensor, which r…

🔧 Air intake / intake manifold runner control
P20EE

SCR NOx Catalyst Efficiency Below Threshold (Bank 1)

P20EE means the engine computer has decided the SCR (selective catalytic reduction) catalyst on Bank 1 isn't removing enough nitro…

🌫 Emissions / diesel aftertreatment
P2263

Turbocharger/Supercharger Boost System Performance

P2263 means the engine computer sees that the turbocharger or supercharger boost system is not performing as expected. Boost leaks…

🔧 Air intake / Turbo
P2463

Diesel Particulate Filter (DPF) Restriction - Soot Accumulation

P2463 means the engine computer has decided the diesel particulate filter (DPF) is restricted by built-up soot. It's a generic cod…

🌫 Emissions / diesel aftertreatment
P250F

Engine Oil Level Too Low

P250F means the engine computer (PCM) has decided the engine oil level is too low, based on the oil level sensor in or on the oil …

🔧 Engine lubrication / oil level sensor
P253F

Engine Oil Deteriorated

P253F means the engine computer (PCM or ECU) has decided the engine oil has deteriorated and needs changing. On most cars this is …

🔧 Engine lubrication / oil life monitor
P2563

Turbocharger Boost Control Position Sensor "A" Circuit Range/Performance

P2563 means the engine computer is not getting a believable signal from the sensor that reports the turbocharger's boost control p…

🔧 Air intake / Turbo