OBD2 Fault Code Library
Free lookup for thousands of OBD2 trouble codes: filter by family, read short meanings, and open deeper articles. Desktop ELM327 scanner with live data and AI guidance.
OBD2 symptoms
Look up diagnostic trouble codes by what the car is doing: misfire, overheating, rough idle, a check engine light, and other common symptoms.
- Engine misfire
- Engine overheating
- Rough idle
- Check engine light
- Poor fuel economy
- Hard starting
- Engine stalling
- Catalytic converter efficiency
- Oxygen sensor fault
- EVAP leak
- Thermostat not reaching temperature
- Lean air-fuel mixture
- Rich air-fuel mixture
- EGR flow fault
- Engine knock
- Charging system
- Throttle position
- Mass airflow sensor
- Turbo underboost
- Coolant temperature sensor
- Transmission fault
- P0021 — "A" Camshaft Position - Timing Over-Advanced or System Performance (Bank 2) (P0021): a powertrain (engine/transmission) fault affecting the camshaft position and variable valve timing. Short, gentle driving to a shop is usually possible. Most often caused by stuck or clogged VVT oil control valve (OCV), worn timing chain/belt or jumped timing, damaged sensor wiring or reluctor ring.
- P0022 — P0022 — "A" Camshaft Position - Timing Over-Retarded (Bank 2). A fault in the camshaft position and variable valve timing. Short, gentle driving to a shop is usually possible. Typical causes: worn cam phaser, low or dirty engine oil affecting VVT, worn timing chain/belt or jumped timing.
- P0023 — P0023 — "B" Camshaft Position - Actuator Circuit (Bank 2). A fault in the camshaft position and variable valve timing. Short, gentle driving to a shop is usually possible. Typical causes: stuck or clogged VVT oil control valve (OCV), faulty camshaft position sensor, damaged sensor wiring or reluctor ring.
- P0024 — P0024 — "B" Camshaft Position - Timing Over-Advanced or System Performance (Bank 2). A fault in the camshaft position and variable valve timing. Short, gentle driving to a shop is usually possible. Typical causes: low or dirty engine oil affecting VVT, stuck or clogged VVT oil control valve (OCV), damaged sensor wiring or reluctor ring.
- P0025 — "B" Camshaft Position - Timing Over-Retarded (Bank 2) (P0025): a powertrain (engine/transmission) fault affecting the camshaft position and variable valve timing. Short, gentle driving to a shop is usually possible. Most often caused by faulty camshaft position sensor, stuck or clogged VVT oil control valve (OCV), damaged sensor wiring or reluctor ring.
- P0026 — OBD2 code P0026 flags a problem with the sensor and actuator circuits (intake valve control solenoid circuit range/performance bank 1). The car is usually drivable while you plan the repair. Common culprits: open or shorted wiring in the circuit, blown fuse feeding the circuit, corroded, loose or damaged connector.
- P0027 — P0027 — Exhaust Valve Control solenoid Circuit Range/Performance Bank 1. A fault in the sensor and actuator circuits. The car is usually drivable while you plan the repair. Typical causes: faulty sensor or actuator of the affected circuit, corroded, loose or damaged connector, poor ground connection.
- P0028 — Intake valve Control Solenoid Circuit Range/Performance Bank 2 (P0028): a powertrain (engine/transmission) fault affecting the sensor and actuator circuits. The car is usually drivable while you plan the repair. Most often caused by corroded, loose or damaged connector, open or shorted wiring in the circuit, poor ground connection.
- P0029 — P0029 — Exhaust Valve Control Solenoid Circuit Range/Performance Bank 2. A fault in the sensor and actuator circuits. The car is usually drivable while you plan the repair. Typical causes: open or shorted wiring in the circuit, corroded, loose or damaged connector, faulty sensor or actuator of the affected circuit.
- P002A — OBD2 code P002A flags a problem with the camshaft position and variable valve timing ("B" camshaft profile control circuit/open bank 1). Short, gentle driving to a shop is usually possible. Common culprits: faulty camshaft position sensor, low or dirty engine oil affecting VVT, worn timing chain/belt or jumped timing.
- P002B — OBD2 code P002B flags a problem with the camshaft position and variable valve timing ("B" camshaft profile control circuit low bank 1). Short, gentle driving to a shop is usually possible. Common culprits: faulty camshaft position sensor, stuck or clogged VVT oil control valve (OCV), damaged sensor wiring or reluctor ring.
- P002C — "B" Camshaft Profile Control Circuit High Bank 1 (P002C): a powertrain (engine/transmission) fault affecting the camshaft position and variable valve timing. Short, gentle driving to a shop is usually possible. Most often caused by worn timing chain/belt or jumped timing, stuck or clogged VVT oil control valve (OCV), worn cam phaser.
- P002D — "B" Camshaft Profile Control Circuit/Open Bank 2 (P002D): a powertrain (engine/transmission) fault affecting the camshaft position and variable valve timing. Short, gentle driving to a shop is usually possible. Most often caused by worn timing chain/belt or jumped timing, faulty camshaft position sensor, damaged sensor wiring or reluctor ring.
- P002E — "B" Camshaft Profile Control Circuit Low Bank 2 (P002E): a powertrain (engine/transmission) fault affecting the camshaft position and variable valve timing. Short, gentle driving to a shop is usually possible. Most often caused by worn cam phaser, damaged sensor wiring or reluctor ring, stuck or clogged VVT oil control valve (OCV).
- P002F — "B" Camshaft Profile Control Circuit High Bank 2 (P002F): a powertrain (engine/transmission) fault affecting the camshaft position and variable valve timing. Short, gentle driving to a shop is usually possible. Most often caused by stuck or clogged VVT oil control valve (OCV), faulty camshaft position sensor, worn timing chain/belt or jumped timing.
- P0030 — OBD2 code P0030 flags a problem with the oxygen sensor circuit (HO2S heater control circuit (bank 1 sensor 1)). The car is usually drivable while you plan the repair. Common culprits: damaged sensor wiring or connector, blown sensor heater fuse, ECM signal circuit fault.
- P0031 — OBD2 code P0031 flags a problem with the oxygen sensor circuit (HO2S heater control circuit low (bank 1 sensor 1)). The car is usually drivable while you plan the repair. Common culprits: aged or contaminated oxygen sensor, ECM signal circuit fault, exhaust leak near the sensor.
- P0032 — OBD2 code P0032 flags a problem with the oxygen sensor circuit (HO2S heater control circuit high (bank 1 sensor 1)). The car is usually drivable while you plan the repair. Common culprits: exhaust leak near the sensor, ECM signal circuit fault, damaged sensor wiring or connector.
- P0033 — Turbo Charger Bypass Valve Control Circuit (P0033): a powertrain (engine/transmission) fault affecting the turbocharger / supercharger boost control. Short, gentle driving to a shop is usually possible. Most often caused by vacuum or actuator line damage, faulty boost pressure sensor, clogged intake or exhaust (DPF/cat).
- P0034 — OBD2 code P0034 flags a problem with the turbocharger / supercharger boost control (turbo charger bypass valve control circuit low). Short, gentle driving to a shop is usually possible. Common culprits: worn turbocharger, stuck wastegate or faulty boost control solenoid, boost leak in intercooler piping or hoses.
- P0035 — OBD2 code P0035 flags a problem with the turbocharger / supercharger boost control (turbo charger bypass valve control circuit high). Short, gentle driving to a shop is usually possible. Common culprits: stuck wastegate or faulty boost control solenoid, worn turbocharger, vacuum or actuator line damage.
- P0036 — OBD2 code P0036 flags a problem with the oxygen sensor circuit (HO2S heater control circuit (bank 1 sensor 2)). The car is usually drivable while you plan the repair. Common culprits: exhaust leak near the sensor, damaged sensor wiring or connector, aged or contaminated oxygen sensor.
- P0037 — P0037 — HO2S Heater Control Circuit Low (Bank 1 Sensor 2). A fault in the oxygen sensor circuit. The car is usually drivable while you plan the repair. Typical causes: exhaust leak near the sensor, ECM signal circuit fault, blown sensor heater fuse.
- P0038 — P0038 — HO2S Heater Control Circuit High (Bank 1 Sensor 2). A fault in the oxygen sensor circuit. The car is usually drivable while you plan the repair. Typical causes: ECM signal circuit fault, oil or coolant contamination of the sensor tip, blown sensor heater fuse.