Every trouble code, explained
Quick answer
This index covers 273 standardised OBD-II trouble codes, grouped into 10 systems. Every code page gives the standard definition, the causes ordered by how often they turn out to be the answer, whether the car is safe to drive, and which capability tier of scanner can actually diagnose it.
TOPDON TopScan Lite OBD2 Scanner, Bidirectional Scan Tool, 8 Resets & AI
Almost every code worth diagnosing yourself is diagnosed by watching live values rather than by reading the number a second time, which is the capability that separates a full system scanner from a basic reader.
Coverage varies by tool and by model year, so check a specific tool against a specific vehicle before buying.
Codes by system
- 104 codes
Fuel and air metering codes
Lean and rich conditions, mass air flow, manifold pressure, throttle position and oxygen sensor circuits.
- 9 codes
Injector circuit codes
Injector drive circuits, cylinder contribution, boost control and the codes that sit between fuel delivery and combustion.
- 36 codes
Misfire and ignition codes
Random and per-cylinder misfire detection, crankshaft and camshaft position, coil primary and secondary circuits.
- 31 codes
Emission control codes
Catalyst efficiency, evaporative emission leaks, exhaust gas recirculation and secondary air injection.
- 23 codes
Speed, idle and auxiliary input codes
Vehicle speed sensing, idle control, cruise control, oil pressure and the auxiliary inputs the computer watches.
- 24 codes
Computer and output circuit codes
Internal control module faults, reference voltage circuits, relay drivers and the outputs the computer commands.
- 22 codes
Transmission codes
Gear ratio errors, torque converter clutch circuits, shift solenoids, fluid temperature and range sensing.
- 8 codes
Body and restraint codes
Airbag, seat belt pretensioner and occupant classification circuits. These sit outside generic OBD-II.
- 8 codes
Chassis, brake and stability codes
Wheel speed sensors, ABS hydraulic circuits, traction and stability control. These sit outside generic OBD-II.
- 8 codes
Network and communication codes
Lost communication between modules, bus faults and control module mismatches.
Fuel and air metering codes
- P0010 A Camshaft Position Actuator Circuit (Bank 1)
- P0011 A Camshaft Position Timing Over-Advanced (Bank 1)
- P0013 B Camshaft Position Actuator Circuit (Bank 1)
- P0014 B Camshaft Position Timing Over-Advanced (Bank 1)
- P0016 Crankshaft Position - Camshaft Position Correlation (Bank 1 Sensor A)
- P0017 Crankshaft Position - Camshaft Position Correlation (Bank 1 Sensor B)
- P0020 A Camshaft Position Actuator Circuit (Bank 2)
- P0021 A Camshaft Position Timing Over-Advanced (Bank 2)
- P0030 HO2S Heater Control Circuit (Bank 1 Sensor 1)
- P0031 HO2S Heater Control Circuit Low (Bank 1 Sensor 1)
- P0032 HO2S Heater Control Circuit High (Bank 1 Sensor 1)
- P0033 Turbocharger - Supercharger Bypass Valve Control Circuit
- P0036 HO2S Heater Control Circuit (Bank 1 Sensor 2)
- P0037 HO2S Heater Control Circuit Low (Bank 1 Sensor 2)
- P0071 Ambient Air Temperature Sensor Range - Performance
- P0073 Ambient Air Temperature Sensor High Input
- P0087 Fuel Rail - System Pressure Too Low
- P0088 Fuel Rail - System Pressure Too High
- P0090 Fuel Volume Regulator Control Circuit
- P0091 Fuel Volume Regulator Control Circuit Low
- P0100 Mass or Volume Air Flow Circuit Malfunction
- P0101 Mass or Volume Air Flow Circuit Range - Performance
- P0102 Mass or Volume Air Flow Circuit Low Input
- P0103 Mass or Volume Air Flow Circuit High Input
- P0105 Manifold Absolute Pressure - Barometric Pressure Circuit Malfunction
- P0106 Manifold Absolute Pressure - Barometric Pressure Circuit Range - Performance
- P0107 Manifold Absolute Pressure - Barometric Pressure Circuit Low Input
- P0108 Manifold Absolute Pressure - Barometric Pressure Circuit High Input
- P0111 Intake Air Temperature Sensor Circuit Range - Performance
- P0112 Intake Air Temperature Sensor Circuit Low Input
- P0113 Intake Air Temperature Sensor Circuit High Input
- P0115 Engine Coolant Temperature Circuit Malfunction
- P0116 Engine Coolant Temperature Circuit Range - Performance
- P0117 Engine Coolant Temperature Circuit Low Input
- P0118 Engine Coolant Temperature Circuit High Input
- P0120 Throttle - Pedal Position Sensor - Switch A Circuit Malfunction
- P0121 Throttle - Pedal Position Sensor - Switch A Circuit Range - Performance
- P0122 Throttle - Pedal Position Sensor - Switch A Circuit Low Input
- P0123 Throttle - Pedal Position Sensor - Switch A Circuit High Input
- P0125 Insufficient Coolant Temperature for Closed Loop Fuel Control
- P0128 Coolant Thermostat (Coolant Temperature Below Regulating Temperature)
- P0129 Barometric Pressure Circuit Range - Performance
- P0130 O2 Sensor Circuit Malfunction (Bank 1 Sensor 1)
- P0131 O2 Sensor Circuit Low Voltage (Bank 1 Sensor 1)
- P0132 O2 Sensor Circuit High Voltage (Bank 1 Sensor 1)
- P0133 O2 Sensor Circuit Slow Response (Bank 1 Sensor 1)
- P0134 O2 Sensor Circuit No Activity Detected (Bank 1 Sensor 1)
- P0135 O2 Sensor Heater Circuit (Bank 1 Sensor 1)
- P0136 O2 Sensor Circuit Malfunction (Bank 1 Sensor 2)
- P0137 O2 Sensor Circuit Low Voltage (Bank 1 Sensor 2)
- P0138 O2 Sensor Circuit High Voltage (Bank 1 Sensor 2)
- P0139 O2 Sensor Circuit Slow Response (Bank 1 Sensor 2)
- P0140 O2 Sensor Circuit No Activity Detected (Bank 1 Sensor 2)
- P0141 O2 Sensor Heater Circuit (Bank 1 Sensor 2)
- P0143 O2 Sensor Circuit Low Voltage (Bank 1 Sensor 3)
- P0144 O2 Sensor Circuit High Voltage (Bank 1 Sensor 3)
- P0145 O2 Sensor Circuit Slow Response (Bank 1 Sensor 3)
- P0146 O2 Sensor Circuit No Activity Detected (Bank 1 Sensor 3)
- P0147 O2 Sensor Heater Circuit (Bank 1 Sensor 3)
- P0150 O2 Sensor Circuit Malfunction (Bank 2 Sensor 1)
- P0151 O2 Sensor Circuit Low Voltage (Bank 2 Sensor 1)
- P0152 O2 Sensor Circuit High Voltage (Bank 2 Sensor 1)
- P0153 O2 Sensor Circuit Slow Response (Bank 2 Sensor 1)
- P0154 O2 Sensor Circuit No Activity Detected (Bank 2 Sensor 1)
- P0155 O2 Sensor Heater Circuit (Bank 2 Sensor 1)
- P0156 O2 Sensor Circuit Malfunction (Bank 2 Sensor 2)
- P0157 O2 Sensor Circuit Low Voltage (Bank 2 Sensor 2)
- P0158 O2 Sensor Circuit High Voltage (Bank 2 Sensor 2)
- P0159 O2 Sensor Circuit Slow Response (Bank 2 Sensor 2)
- P0161 O2 Sensor Heater Circuit (Bank 2 Sensor 2)
- P0171 System Too Lean (Bank 1)
- P0172 System Too Rich (Bank 1)
- P0174 System Too Lean (Bank 2)
- P0175 System Too Rich (Bank 2)
- P0176 Flexible Fuel Sensor Circuit Malfunction
- P0180 Fuel Temperature Sensor A Circuit Malfunction
- P0182 Fuel Temperature Sensor A Circuit Low Input
- P0190 Fuel Rail Pressure Sensor Circuit Malfunction
- P0191 Fuel Rail Pressure Sensor Circuit Range - Performance
- P0192 Fuel Rail Pressure Sensor Circuit Low Input
- P0193 Fuel Rail Pressure Sensor Circuit High Input
- P0196 Engine Oil Temperature Sensor Circuit Range - Performance
- P0220 Throttle/Pedal Position Sensor/Switch B Circuit Malfunction
- P0221 Throttle/Pedal Position Sensor/Switch B Circuit Range/Performance
- P0222 Throttle/Pedal Position Sensor/Switch B Circuit Low Input
- P0223 Throttle/Pedal Position Sensor/Switch B Circuit High Input
- P0225 Throttle/Pedal Position Sensor/Switch C Circuit Malfunction
- P0226 Throttle/Pedal Position Sensor/Switch C Circuit Range/Performance
- P0227 Throttle/Pedal Position Sensor/Switch C Circuit Low Input
- P0228 Throttle/Pedal Position Sensor/Switch C Circuit High Input
- P0230 Fuel Pump Primary Circuit Malfunction
- P0231 Fuel Pump Secondary Circuit Low
- P0234 Turbocharger/Supercharger Overboost Condition
- P0235 Turbocharger Boost Sensor A Circuit Malfunction
- P0236 Turbocharger Boost Sensor A Circuit Range/Performance
- P0238 Turbocharger Boost Sensor B Circuit High
- P0243 Turbocharger Wastegate Solenoid A Malfunction
- P0245 Turbocharger Wastegate Solenoid A Low
- P0246 Turbocharger Wastegate Solenoid A High
- P0299 Turbocharger/Supercharger Underboost Condition
- P0460 Fuel Level Sensor Circuit Malfunction
- P0461 Fuel Level Sensor Circuit Range/Performance
- P0462 Fuel Level Sensor Circuit Low Input
- P0463 Fuel Level Sensor Circuit High Input
Injector circuit codes
- P0200 Injector Circuit Malfunction
- P0201 Injector Circuit Malfunction Cylinder 1
- P0202 Injector Circuit Malfunction Cylinder 2
- P0203 Injector Circuit Malfunction Cylinder 3
- P0204 Injector Circuit Malfunction Cylinder 4
- P0205 Injector Circuit Malfunction Cylinder 5
- P0206 Injector Circuit Malfunction Cylinder 6
- P0207 Injector Circuit Malfunction Cylinder 7
- P0208 Injector Circuit Malfunction Cylinder 8
Misfire and ignition codes
- P0300 Random/Multiple Cylinder Misfire Detected
- P0301 Cylinder 1 Misfire Detected
- P0302 Cylinder 2 Misfire Detected
- P0303 Cylinder 3 Misfire Detected
- P0304 Cylinder 4 Misfire Detected
- P0305 Cylinder 5 Misfire Detected
- P0306 Cylinder 6 Misfire Detected
- P0307 Cylinder 7 Misfire Detected
- P0308 Cylinder 8 Misfire Detected
- P0309 Cylinder 9 Misfire Detected
- P0310 Cylinder 10 Misfire Detected
- P0311 Cylinder 11 Misfire Detected
- P0312 Cylinder 12 Misfire Detected
- P0313 Misfire Detected With Low Fuel
- P0316 Engine Misfire Detected on Startup (First 1000 Revolutions)
- P0320 Ignition/Distributor Engine Speed Input Circuit Malfunction
- P0325 Knock Sensor 1 Circuit Malfunction
- P0326 Knock Sensor 1 Circuit Range/Performance
- P0327 Knock Sensor 1 Circuit Low Input
- P0328 Knock Sensor 1 Circuit High Input
- P0330 Knock Sensor 2 Circuit Malfunction (Bank 2)
- P0332 Knock Sensor 2 Circuit Low Input
- P0335 Crankshaft Position Sensor A Circuit Malfunction
- P0336 Crankshaft Position Sensor A Circuit Range/Performance
- P0339 Crankshaft Position Sensor A Circuit Intermittent
- P0340 Camshaft Position Sensor A Circuit Malfunction
- P0341 Camshaft Position Sensor A Circuit Range/Performance
- P0344 Camshaft Position Sensor A Circuit Intermittent
- P0345 Camshaft Position Sensor B Circuit (Bank 2)
- P0350 Ignition Coil Primary/Secondary Circuit Malfunction
- P0351 Ignition Coil A Primary/Secondary Circuit Malfunction
- P0352 Ignition Coil B Primary/Secondary Circuit Malfunction
- P0353 Ignition Coil C Primary/Secondary Circuit Malfunction
- P0354 Ignition Coil D Primary/Secondary Circuit Malfunction
- P0355 Ignition Coil E Primary/Secondary Circuit Malfunction
- P0356 Ignition Coil F Primary/Secondary Circuit Malfunction
Emission control codes
- P0400 EGR Flow Malfunction
- P0401 EGR Flow Insufficient Detected
- P0402 EGR Flow Excessive Detected
- P0403 EGR Circuit Malfunction
- P0404 EGR Circuit Range/Performance
- P0405 EGR Sensor A Circuit Low
- P0406 EGR Sensor A Circuit High
- P0411 Secondary Air Injection System Incorrect Flow Detected
- P0412 Secondary Air Injection System Switching Valve A Circuit Malfunction
- P0418 Secondary Air Injection System Relay A Circuit Malfunction
- P0420 Catalyst System Efficiency Below Threshold (Bank 1)
- P0421 Warm Up Catalyst Efficiency Below Threshold (Bank 1)
- P0422 Main Catalyst Efficiency Below Threshold (Bank 1)
- P0430 Catalyst System Efficiency Below Threshold (Bank 2)
- P0431 Warm Up Catalyst Efficiency Below Threshold (Bank 2)
- P0432 Main Catalyst Efficiency Below Threshold (Bank 2)
- P0440 Evaporative Emission System Malfunction
- P0441 Evaporative Emission System Incorrect Purge Flow
- P0442 Evaporative Emission System Leak Detected (Small Leak)
- P0443 Evaporative Emission System Purge Control Valve Circuit Malfunction
- P0446 Evaporative Emission System Vent Control Circuit Malfunction
- P0449 Evaporative Emission System Vent Valve/Solenoid Circuit Malfunction
- P0451 Evaporative Emission System Pressure Sensor Range/Performance
- P0452 Evaporative Emission System Pressure Sensor Low Input
- P0455 Evaporative Emission System Leak Detected (Large Leak)
- P0456 Evaporative Emission System Leak Detected (Very Small Leak)
- P0457 Evaporative Emission System Leak Detected (Fuel Cap Loose/Off)
- P0491 Secondary Air Injection System Insufficient Flow (Bank 1)
- P0492 Secondary Air Injection System Insufficient Flow (Bank 2)
- P0496 Evaporative Emission System High Purge Flow
- P0497 Evaporative Emission System Low Purge Flow
Speed, idle and auxiliary input codes
- P0500 Vehicle Speed Sensor Malfunction
- P0501 Vehicle Speed Sensor Range/Performance
- P0502 Vehicle Speed Sensor Circuit Low Input
- P0503 Vehicle Speed Sensor Intermittent/Erratic/High Input
- P0505 Idle Air Control System Malfunction
- P0506 Idle Air Control System RPM Lower Than Expected
- P0507 Idle Air Control System RPM Higher Than Expected
- P0511 Idle Air Control Circuit Malfunction
- P0520 Engine Oil Pressure Sensor/Switch Circuit Malfunction
- P0521 Engine Oil Pressure Sensor/Switch Range/Performance
- P0522 Engine Oil Pressure Sensor/Switch Low Voltage
- P0523 Engine Oil Pressure Sensor/Switch High Voltage
- P0524 Engine Oil Pressure Too Low
- P0532 A/C Refrigerant Pressure Sensor Circuit Low
- P0533 A/C Refrigerant Pressure Sensor Circuit High
- P0560 System Voltage Malfunction
- P0562 System Voltage Low
- P0563 System Voltage High
- P0571 Cruise Control/Brake Switch A Circuit Malfunction
- P0579 Cruise Control Multi-Function Input Circuit Range/Performance
- P0597 Thermostat Heater Control Circuit/Open
- P0598 Thermostat Heater Control Circuit Low
- P0599 Thermostat Heater Control Circuit High
Computer and output circuit codes
- P0217 Engine Overtemperature Condition
- P0219 Engine Overspeed Condition
- P0480 Cooling Fan 1 Control Circuit Malfunction
- P0481 Cooling Fan 2 Control Circuit Malfunction
- P0600 Serial Communication Link Malfunction
- P0601 Internal Control Module Memory Check Sum Error
- P0602 Control Module Programming Error
- P0603 Internal Control Module Keep Alive Memory Error
- P0604 Internal Control Module Random Access Memory Error
- P0605 Internal Control Module Read Only Memory Error
- P0606 ECM/PCM Processor Fault
- P0607 Control Module Performance
- P0615 Starter Relay Circuit Malfunction
- P0616 Starter Relay Circuit Low
- P0617 Starter Relay Circuit High
- P0620 Generator Control Circuit Malfunction
- P0621 Generator Lamp L Control Circuit
- P0622 Generator Field Terminal Circuit Malfunction
- P0625 Generator Field Terminal Circuit Low
- P0627 Fuel Pump A Control Circuit Open
- P0645 A/C Clutch Relay Control Circuit Malfunction
- P0646 A/C Clutch Relay Control Circuit Low
- P0650 Malfunction Indicator Lamp Control Circuit Malfunction
- P0685 ECM/PCM Power Relay Control Circuit Open
Transmission codes
- P0700 Transmission Control System Malfunction
- P0701 Transmission Control System Range/Performance
- P0703 Brake Switch B Circuit Malfunction
- P0705 Transmission Range Sensor Circuit Malfunction
- P0706 Transmission Range Sensor Range/Performance
- P0711 Transmission Fluid Temperature Sensor Range/Performance
- P0712 Transmission Fluid Temperature Sensor Circuit Low
- P0713 Transmission Fluid Temperature Sensor Circuit High
- P0715 Input/Turbine Speed Sensor Circuit Malfunction
- P0716 Input/Turbine Speed Sensor Range/Performance
- P0717 Input/Turbine Speed Sensor No Signal
- P0720 Output Speed Sensor Circuit Malfunction
- P0721 Output Speed Sensor Range/Performance
- P0722 Output Speed Sensor No Signal
- P0730 Incorrect Gear Ratio
- P0731 Gear 1 Incorrect Ratio
- P0732 Gear 2 Incorrect Ratio
- P0733 Gear 3 Incorrect Ratio
- P0734 Gear 4 Incorrect Ratio
- P0740 Torque Converter Clutch Circuit Malfunction
- P0741 Torque Converter Clutch Circuit Performance or Stuck Off
- P0743 Torque Converter Clutch Circuit Electrical
Body and restraint codes
- B0001 Driver Frontal Deployment Control (Stage 1)
- B0004 Driver Side Deployment Control
- B0010 Passenger Frontal Deployment Control
- B0012 Passenger Frontal Deployment Control, Stage 2
- B0028 Seat Belt Pretensioner, Driver
- B0081 Driver Side Impact Sensor Circuit
- B0092 Seat Belt Pretensioner Resistive Load, Driver
- B1000 ECU Internal Fault
Chassis, brake and stability codes
- C0035 Left Front Wheel Speed Sensor Circuit
- C0040 Right Front Wheel Speed Sensor Circuit
- C0045 Left Rear Wheel Speed Sensor Circuit
- C0050 Right Rear Wheel Speed Sensor Circuit
- C0051 Steering Wheel Position Sensor Circuit
- C0110 Pump Motor Circuit Malfunction
- C0121 Valve Relay Circuit Malfunction
- C0196 Yaw Rate Sensor Circuit Malfunction
Network and communication codes
- U0001 High Speed CAN Communication Bus
- U0100 Lost Communication with ECM/PCM
- U0101 Lost Communication with TCM
- U0121 Lost Communication with ABS Control Module
- U0140 Lost Communication with Body Control Module
- U0155 Lost Communication with Instrument Panel Cluster
- U0401 Invalid Data Received from ECM/PCM
- U0402 Invalid Data Received from TCM
Codes covered by make
Some codes behave differently enough on a particular make to be worth their own page. These exist only where there is genuinely make-specific substance to give, which is why the list is not every code against every make.
- P0420 Toyota
- P0420 Honda
- P0420 Ford
- P0420 Chevrolet
- P0420 Nissan
- P0420 Subaru
- P0430 Toyota
- P0430 Ford
- P0430 Chevrolet
- P0430 Nissan
- P0430 Subaru
- P0171 Toyota
- P0171 Honda
- P0171 Ford
- P0171 Chevrolet
- P0171 Nissan
- P0171 Subaru
- P0174 Toyota
- P0174 Ford
- P0174 Chevrolet
- P0174 Nissan
- P0174 Subaru
- P0128 Ford
- P0128 Chevrolet
- P0128 Honda
- P0128 Subaru
- P0455 Ford
- P0455 Chevrolet
- P0455 Toyota
- P0455 Honda
- P0455 Nissan
- P0456 Ford
- P0456 Toyota
- P0456 Honda
- P0456 Chevrolet
- P0442 Toyota
- P0442 Ford
- P0442 Nissan
- P0300 Ford
- P0300 Chevrolet
- P0300 Toyota
- P0300 Honda
- P0300 Nissan
- P0300 Subaru
- P0301 Ford
- P0301 Chevrolet
- P0301 Toyota
- P0401 Ford
- P0401 Toyota
- P0401 Honda
- P0401 Chevrolet
- P0141 Ford
- P0141 Chevrolet
- P0141 Nissan
Tools that read these codes
- LJPXHHU
OBD2 Bluetooth Scanner Car Code Reader for iOS, Android and Windows
- wireless
$13.98 Check pricePrices change often - Veepeak
Veepeak Mini Bluetooth OBD2 Scanner Code Reader for Android (NOT for iOS)
- wireless
$14.99 Check pricePrices change often - MOCATEC
WiFi ELM327 OBD2 Adapter WiFi ELM 327 OBD Scanner for Universal 12V Vehicle
- wireless
$15.95 Check pricePrices change often - UMEIJA
OBD2 Scanner Diagnostic Tool, Car Scanner for iOS & Android, Bluetooth 5.4
- wireless
$29.99 Check pricePrices change often
Common questions
How many OBD-II trouble codes are there?
The generic SAE standard defines several hundred powertrain codes, and manufacturers add their own on top of that. This site covers 273 of the standardised definitions, chosen because they are the ones people actually see, plus 54 pages covering specific makes where the patterns behind a code genuinely differ.
Why does the same code mean different things on different cars?
Generic codes, the ones beginning P0, mean the same thing everywhere. Manufacturer defined codes, beginning P1 or P3, do not: the same number describes unrelated faults on two different makes. That is why looking up a manufacturer code in a generic list is one of the most common ways to end up diagnosing the wrong system entirely.
Does a code tell me which part to replace?
No. A code names the circuit or the condition where the computer saw a reading outside its expected range. Several different faults set the same code, and the component named in the code text is usually the most expensive candidate rather than the most likely one. That is why every code page here orders its causes by likelihood.
Can I read these codes with any scanner?
Codes beginning with P are generic powertrain codes and any OBD-II compliant reader sees them. Codes beginning with B, C or U sit outside generic OBD-II, in the body, chassis and network modules, and reading those requires a tool with full system access. That is a real capability step, not a marketing difference.
Should I clear a code once I have read it?
Not before you have written down the freeze frame data, because clearing erases it. Clearing also resets every readiness monitor to incomplete, which causes a not-ready rejection at an emissions test. Clearing repairs nothing: if the fault is still present the code comes back, usually within a few drive cycles.
