When your Check Engine Light turns on, the vehicle is trying to tell you that something has gone wrong. Unfortunately, it communicates using codes such as P0171, P0300, P0420, and P0700 instead of simply saying, “The intake hose is cracked.”
That would apparently be too convenient.
An OBD-II scanner can retrieve the stored Diagnostic Trouble Code, but reading the code is only the beginning. An OBD-II code identifies the system that detected a problem—it does not always identify the failed part.
Replacing components based only on a code description can become expensive very quickly. A code mentioning an oxygen sensor does not automatically mean the oxygen sensor is bad. A transmission code does not automatically mean the transmission needs replacement. A misfire code does not mean purchasing every ignition coil within a 20-mile radius.
This guide covers some of the most common OBD-II codes, what they mean, how serious they are, and where to find complete step-by-step diagnostic and repair instructions.
Quick OBD-II Code Reference
| Code | Description | Severity | Common Cause |
|---|---|---|---|
| P0011 | Intake camshaft timing over-advanced | High | Dirty oil or VVT fault |
| P0014 | Exhaust camshaft timing over-advanced | High | VVT solenoid or timing wear |
| P0016 | Crankshaft/camshaft correlation fault | Very High | Timing-chain stretch |
| P0101 | MAF sensor range/performance | Moderate | Dirty MAF or intake leak |
| P0113 | Intake-air temperature circuit high | Moderate | Open circuit or unplugged sensor |
| P0117 | Coolant-temperature circuit low | High | Shorted sensor or overheating |
| P0118 | Coolant-temperature circuit high | Moderate | Open circuit or failed sensor |
| P0128 | Coolant below thermostat temperature | Low–Moderate | Thermostat stuck open |
| P0171 | System too lean, Bank 1 | Moderate | Vacuum leak or dirty MAF |
| P0174 | System too lean, Bank 2 | Moderate | Vacuum leak or low fuel pressure |
| P0300 | Random or multiple-cylinder misfire | High | Ignition, fuel or compression issue |
| P0301 | Cylinder 1 misfire | High | Spark plug or ignition coil |
| P0304 | Cylinder 4 misfire | High | Spark plug, coil or injector |
| P0420 | Catalyst efficiency below threshold, Bank 1 | Moderate | Worn converter or exhaust leak |
| P0430 | Catalyst efficiency below threshold, Bank 2 | Moderate | Worn converter or exhaust leak |
| P0442 | Small EVAP leak | Low | Gas cap or EVAP hose |
| P0455 | Large EVAP leak | Low | Loose cap or disconnected hose |
| P0456 | Very small EVAP leak | Low | Gas-cap seal or tiny hose leak |
| P0507 | Idle RPM higher than expected | Moderate | Vacuum leak or dirty throttle body |
| P0700 | Transmission control-system fault | High | Additional TCM code stored |
| P0705 | Transmission range-sensor fault | High | Range switch or linkage |
| P0741 | Torque-converter clutch stuck off | High | Converter, solenoid or valve body |
| P2195 | Bank 1 upstream O2 sensor stuck lean | Moderate | Vacuum leak or sensor fault |
| P2197 | Bank 2 upstream O2 sensor stuck lean | Moderate | Intake leak or sensor fault |
What Is an OBD-II Code?
OBD-II stands for On-Board Diagnostics, Second Generation.
Vehicles sold in the United States since the 1996 model year generally use a standardized diagnostic connector and code system. When a control module detects a fault, it stores a Diagnostic Trouble Code and may illuminate the Check Engine Light.
The code typically contains one letter followed by four numbers.
Examples include:
- P0171
- P0300
- P0420
- P0700
The first letter identifies the affected system:
- P – Powertrain
- B – Body
- C – Chassis
- U – Network communication
Most Check Engine Light complaints involve powertrain codes beginning with the letter P.
Generic Versus Manufacturer-Specific Codes
The second character helps identify whether a code is generic or manufacturer-specific.
- P0 codes are generally standardized across OBD-II vehicles.
- P1 codes are frequently manufacturer-specific.
- Some P2 and P3 codes may also be standardized or manufacturer-controlled.
A generic code provides a broad definition, but the exact diagnostic procedure can vary by vehicle.
For example, P0011 always relates to camshaft timing, but a Ford VCT system, BMW VANOS system, Toyota VVT-i system, and Subaru AVCS system may require very different tests.
The code is the beginning of the diagnosis—not the entire repair manual conveniently compressed into five characters.
Lean Air/Fuel Mixture Codes
Lean codes mean the Engine Control Module is adding fuel because it detects too much air, insufficient fuel, or an inaccurate sensor signal.
P0171: System Too Lean, Bank 1
P0171 indicates that Bank 1 is operating too lean.
Common causes include:
- Vacuum leaks
- Dirty Mass Air Flow sensor
- Cracked intake tubing
- PCV leaks
- Low fuel pressure
- Restricted fuel injectors
- Exhaust leaks
- Faulty oxygen sensors
Bank 1 is the side of the engine containing Cylinder 1.
If P0171 appears alone, inspect problems affecting Bank 1. If it appears with P0174, look for a problem affecting the entire engine.
Complete guide: P0171 Code Explained: System Too Lean Bank 1
P0174: System Too Lean, Bank 2
P0174 means Bank 2 is operating too lean.
This code only applies to engines with more than one cylinder bank, including many:
- V6 engines
- V8 engines
- V10 engines
- V12 engines
- Horizontally opposed engines
Common causes include intake leaks, MAF contamination, low fuel pressure, exhaust leaks, and Bank 2 injector problems.
When P0171 and P0174 appear together, suspect:
- A major vacuum leak
- Contaminated MAF sensor
- Weak fuel pump
- Restricted fuel filter
- PCV-system leak
Complete guide: P0174 Code Explained: System Too Lean Bank 2
Oxygen-Sensor Stuck-Lean Codes
Codes P2195 and P2197 indicate that an upstream oxygen or air/fuel ratio sensor remains biased toward a lean reading.
The sensor may be defective, but it may also be accurately reporting a real air/fuel mixture problem.
P2195: O2 Sensor Stuck Lean, Bank 1 Sensor 1
P2195 applies to the upstream oxygen or air/fuel ratio sensor on Bank 1.
Common causes include:
- Vacuum leaks
- Dirty MAF sensor
- Failed upstream sensor
- Low fuel pressure
- Exhaust leaks
- Restricted injectors
- Sensor wiring faults
Sensor 1 is located before the catalytic converter and helps the ECM adjust fuel delivery.
Complete guide: P2195 Code Explained: O2 Sensor Stuck Lean Bank 1 Sensor 1
P2197: O2 Sensor Stuck Lean, Bank 2 Sensor 1
P2197 applies to the upstream oxygen or air/fuel ratio sensor on Bank 2.
If Bank 1 fuel trims appear normal but Bank 2 fuel trims are highly positive, investigate:
- Bank 2 intake-manifold leaks
- Bank 2 injector problems
- Bank 2 exhaust leaks
- Damaged sensor wiring
- A faulty Bank 2 Sensor 1
Do not replace the catalytic converter first. P2197 involves the upstream fuel-control sensor, not the downstream catalyst-monitoring sensor.
Complete guide: P2197 Code Explained: O2 Sensor Stuck Lean Bank 2 Sensor 1
Engine Misfire Codes
A misfire occurs when one or more cylinders fail to burn the air/fuel mixture correctly.
Every cylinder needs:
- Spark
- Fuel
- Compression
- Correct air/fuel mixture
- Correct valve timing
A failure in any of these areas may cause a misfire.
A flashing Check Engine Light indicates a severe active misfire that may damage the catalytic converter. Stop driving as soon as safely possible.
P0300: Random or Multiple-Cylinder Misfire
P0300 indicates random or multiple-cylinder misfires.
Unlike a cylinder-specific code, P0300 does not identify only one affected cylinder.
Common causes include:
- Worn spark plugs
- Multiple weak ignition coils
- Low fuel pressure
- Vacuum leaks
- Dirty fuel injectors
- Incorrect mechanical timing
- Low compression
- MAF sensor problems
Begin by checking for accompanying P0301 through P0312 codes.
Complete guide: P0300 Code Explained: Random or Multiple-Cylinder Misfire
P0301: Cylinder 1 Misfire
P0301 means the ECM detected a misfire in Cylinder 1.
The most efficient diagnostic sequence is usually:
- Confirm the Cylinder 1 location.
- Inspect its spark plug.
- Swap its ignition coil.
- Test the fuel injector.
- Check for a nearby intake leak.
- Perform compression testing.
If the misfire follows a swapped ignition coil, the coil is likely defective.
Complete guide: P0301 Code Explained: Cylinder 1 Misfire
P0304: Cylinder 4 Misfire
P0304 means Cylinder 4 is misfiring.
Common causes include:
- Worn Cylinder 4 spark plug
- Failed Cylinder 4 ignition coil
- Damaged plug wire
- Restricted fuel injector
- Intake leak near Cylinder 4
- Burned valve
- Low compression
- Valve-train problem
Verify the manufacturer’s cylinder numbering before testing. Cylinder 4 is not always where an enthusiastic YouTube comment says it is.
Complete guide: P0304 Code Explained: Cylinder 4 Misfire
Catalytic Converter Efficiency Codes
The ECM monitors catalytic-converter performance by comparing upstream and downstream oxygen-sensor activity.
The upstream sensor reacts quickly to changes in the air/fuel mixture. A healthy catalytic converter stores oxygen and smooths the downstream sensor signal.
When the downstream sensor begins behaving too much like the upstream sensor, the ECM may determine that catalyst efficiency has dropped below the required threshold.
P0420: Catalyst Efficiency Below Threshold, Bank 1
P0420 indicates reduced catalytic-converter efficiency on Bank 1.
Common causes include:
- Worn catalytic converter
- Exhaust leak
- Misfire damage
- Rich fuel mixture
- Oil consumption
- Coolant contamination
- Faulty oxygen sensor
Repair engine misfires and fuel-control problems before installing a new converter. Otherwise, the replacement converter may suffer the same expensive fate.
Complete guide: P0420 Code Explained: Catalyst Efficiency Below Threshold Bank 1
P0430: Catalyst Efficiency Below Threshold, Bank 2
P0430 indicates reduced catalyst efficiency on Bank 2.
P0420 and P0430 appearing together may indicate:
- Aging converters
- Long-term rich operation
- Multiple-cylinder misfires
- Oil consumption
- Fuel-control faults affecting both banks
Inspect exhaust leaks, fuel trims, misfire counters, and sensor activity before condemning the converter.
Complete guide: P0430 Code Explained: Catalyst Efficiency Below Threshold Bank 2
EVAP Leak Codes
The Evaporative Emission Control system prevents gasoline vapors from escaping into the atmosphere.
Major components include:
- Fuel tank
- Fuel cap
- Fuel filler neck
- Charcoal canister
- Purge valve
- Vent valve
- Fuel-tank pressure sensor
- EVAP hoses
EVAP codes usually do not affect how the vehicle drives, but they can illuminate the Check Engine Light and cause emissions-test failure.
P0442: Small EVAP Leak
P0442 means the ECM detected a small EVAP-system leak.
Common causes include:
- Loose gas cap
- Worn gas-cap seal
- Cracked EVAP hose
- Leaking purge valve
- Faulty vent valve
- Damaged charcoal canister
A smoke test is often the fastest way to locate the leak.
Complete guide: P0442 Code Explained: Small EVAP Leak
P0455: Large EVAP Leak
P0455 means the EVAP system cannot seal or contains a relatively large leak.
Check for:
- Missing fuel cap
- Loose fuel cap
- Disconnected EVAP hose
- Split hose
- Broken canister fitting
- Stuck-open vent or purge valve
A disconnected hose frequently causes this code following recent fuel-system or underbody repairs.
Complete guide: P0455 Code Explained: Large EVAP Leak
P0456: Very Small EVAP Leak
P0456 indicates a very small EVAP-system leak.
The leak may be too small to see or smell.
Common sources include:
- Gas-cap seal
- Hairline hose crack
- Purge valve that does not seal fully
- Vent valve leak
- Canister fitting
- Fuel filler-neck corrosion
P0456 is rarely dangerous, but finding it without a smoke machine can become an enjoyable afternoon of staring suspiciously at rubber hoses.
Complete guide: P0456 Code Explained: Very Small EVAP Leak
Camshaft Timing and Correlation Codes
Modern engines use Variable Valve Timing to adjust camshaft position according to engine speed and load.
The system commonly relies on:
- Engine oil pressure
- VVT solenoid
- Oil-control passages
- Camshaft phaser
- Camshaft-position sensor
- Crankshaft-position sensor
- Timing chain or belt
Dirty oil, low oil pressure, solenoid problems, and worn timing components can all trigger camshaft-related codes.
P0011: Intake Camshaft Timing Over-Advanced, Bank 1
P0011 means the Bank 1 intake camshaft remains more advanced than commanded.
Start by checking:
- Engine oil level
- Oil condition
- Correct oil viscosity
- VVT-solenoid operation
- Camshaft commanded and actual position
- Oil pressure
- Timing-chain condition
Do not immediately replace the camshaft sensor. It may simply be reporting that the mechanical and hydraulic systems have stopped cooperating.
Complete guide: P0011 Code Explained: Camshaft Timing Over-Advanced Bank 1
P0014: Exhaust Camshaft Timing Over-Advanced, Bank 1
P0014 applies to the Bank 1 exhaust camshaft.
Common causes include:
- Dirty engine oil
- Low oil level
- Faulty exhaust VVT solenoid
- Restricted oil passage
- Sticking camshaft phaser
- Timing-chain wear
- Low oil pressure
P0011 and P0014 appearing together may indicate an oil-pressure, timing-chain, or broader VVT-system problem.
Complete guide: P0014 Code Explained: Exhaust Camshaft Timing Over-Advanced
P0016: Crankshaft and Camshaft Correlation
This is a serious code that may indicate:
- Stretched timing chain
- Failed timing tensioner
- Worn timing guides
- Damaged camshaft phaser
- Incorrect mechanical timing
- Camshaft or crankshaft sensor fault
- Low oil pressure
If the engine rattles, stalls, or becomes difficult to start, stop driving and inspect the timing system immediately.
Complete guide: P0016 Code Explained: Crankshaft and Camshaft Correlation
Mass Air Flow and Intake-Air Sensor Codes
The ECM uses airflow and intake-temperature information to calculate engine load and fuel delivery.
Incorrect readings may cause:
- Rough idle
- Hesitation
- Poor fuel economy
- Lean or rich operation
- Hard starting
- Reduced power
P0101: MAF Sensor Range or Performance
P0101 means the Mass Air Flow sensor reading does not match the airflow the ECM expects.
Common causes include:
- Dirty MAF sensor
- Intake leak
- Vacuum leak
- Torn intake boot
- Dirty air filter
- Faulty MAF sensor
- Wiring problem
Clean the sensor only with dedicated MAF cleaner. Brake cleaner is not “basically the same thing,” regardless of how confidently the can is held.
Complete guide: P0101 Code Explained: MAF Sensor Range or Performance
P0113: Intake-Air Temperature Sensor Circuit High
P0113 means the ECM sees excessive voltage in the Intake Air Temperature sensor circuit.
A scan reading near -40 degrees commonly indicates:
- Unplugged IAT sensor
- Open circuit
- Broken wire
- Failed sensor
- Missing ground
Many vehicles integrate the IAT sensor into the MAF sensor assembly.
Complete guide: P0113 Code Explained: Intake-Air Temperature Circuit High
Coolant-Temperature and Thermostat Codes
The ECM uses coolant-temperature data to control:
- Fuel enrichment
- Ignition timing
- Idle speed
- Cooling fans
- Emissions
- Transmission behavior
An inaccurate signal can affect starting, fuel economy, cooling-fan operation, and engine protection.
P0117: Coolant-Temperature Sensor Circuit Low
P0117 means the ECT sensor circuit voltage is too low.
The ECM may interpret this as an extremely hot engine.
Possible causes include:
- Shorted ECT sensor
- Signal wire shorted to ground
- Connector contamination
- Damaged wiring
- Actual engine overheating
Always verify the real engine temperature before continuing to drive.
Complete guide: P0117 Code Explained: Coolant-Temperature Circuit Low
P0118: Coolant-Temperature Sensor Circuit High
P0118 means the ECT sensor circuit voltage is too high.
The ECM may display an unrealistically cold reading, frequently around -40 degrees.
Common causes include:
- Disconnected sensor
- Failed ECT sensor
- Open signal wire
- Missing sensor ground
- Corroded connector
P0117 and P0118 are electrical circuit codes and should not be diagnosed by replacing the thermostat without testing.
Complete guide: P0118 Code Explained: Coolant-Temperature Circuit High
P0128: Coolant Below Thermostat Regulating Temperature
P0128 means the engine is not warming up as quickly as expected.
The most common cause is a thermostat stuck open.
Symptoms may include:
- Slow engine warm-up
- Weak cabin heat
- Low temperature-gauge reading
- Poor fuel economy
- Check Engine Light
Unlike P0117 and P0118, P0128 usually describes a cooling-system performance problem rather than an electrical circuit fault.
Complete guide: P0128 Code Explained: Coolant Below Thermostat Temperature
High-Idle Code
P0507: Idle RPM Higher Than Expected
P0507 means actual idle speed remains higher than the ECM’s target.
Common causes include:
- Vacuum leak
- Dirty throttle body
- Carbon around the throttle plate
- Faulty Idle Air Control valve
- PCV valve stuck open
- Intake-manifold leak
- Throttle relearn required
Some electronic throttle-body vehicles require an idle or throttle relearn after cleaning, replacement, or battery disconnection.
Complete guide: P0507 Code Explained: Idle RPM Higher Than Expected
Automatic Transmission Codes
Transmission codes should be taken seriously, but they do not automatically mean the entire transmission has failed.
Potential causes include:
- Low or degraded fluid
- Sensor failure
- Solenoid problems
- Wiring faults
- Valve-body wear
- Torque-converter issues
- Internal clutch wear
- Control-module faults
P0700: Transmission Control-System Malfunction
P0700 is a notification code, not the final diagnosis.
A scanner capable of communicating with the TCM is needed to retrieve the underlying code.
Possible companion codes include:
- P0705
- P0715
- P0720
- P0730
- P0741
- P0750
- P0760
- P2714
Complete guide: P0700 Code Explained: Transmission Control-System Malfunction
P0705: Transmission Range-Sensor Circuit Malfunction
P0705 means the ECM or TCM cannot reliably determine the selected transmission range.
The range sensor may also be called:
- Neutral-safety switch
- PRNDL switch
- Park/Neutral Position switch
- Inhibitor switch
- Gear-position sensor
Common symptoms include:
- Vehicle will not start
- Starts only in Neutral
- Incorrect gear displayed
- Harsh shifts
- Limp mode
- Reverse lights malfunction
Complete guide: P0705 Code Explained: Transmission Range-Sensor Malfunction
P0741: Torque-Converter Clutch Performance or Stuck Off
P0741 means the torque-converter clutch does not engage as commanded.
Common causes include:
- Degraded transmission fluid
- Low fluid level
- Faulty TCC solenoid
- Valve-body wear
- Damaged wiring
- Worn torque-converter clutch
- Internal transmission wear
Symptoms may include elevated highway RPM, reduced fuel economy, converter slip, and transmission overheating.
Complete guide: P0741 Code Explained: Torque-Converter Clutch Stuck Off
Which OBD-II Codes Require Immediate Attention?
Stop driving or reduce engine load when you encounter:
- A flashing Check Engine Light
- Severe engine shaking
- Oil-pressure warning
- Engine overheating
- Loud timing-chain noise
- Transmission slipping
- Transmission overheating
- Sudden power loss
- Steam or major coolant leakage
Codes that deserve especially prompt attention include:
- P0016
- P0300
- P0301
- P0304
- P0700 with shifting problems
- P0705 with incorrect gear engagement
- P0741 with slipping or overheating
EVAP codes such as P0442, P0455, and P0456 are generally less urgent, although they can cause emissions-test failure.
How to Diagnose an OBD-II Code Correctly
1. Read Every Stored and Pending Code
Do not diagnose only the first code displayed.
Related codes may identify the actual root cause.
2. Save Freeze-Frame Data
Freeze-frame data records operating conditions when the fault occurred.
Useful information includes:
- RPM
- Vehicle speed
- Engine load
- Coolant temperature
- Fuel trims
- Throttle position
3. Check Technical Basics
Inspect:
- Fluid levels
- Battery voltage
- Wiring
- Connectors
- Vacuum hoses
- Intake tubing
- Recent repair areas
4. Use Live Data
Live sensor information can reveal whether a fault is genuine, intermittent, or caused by an inaccurate sensor.
5. Test Before Replacing Parts
Use:
- Component swap tests
- Multimeter tests
- Smoke testing
- Fuel-pressure testing
- Compression testing
- Manufacturer procedures
6. Repair the Root Cause
A failed catalytic converter may have been damaged by a misfire. An oxygen-sensor code may be caused by a vacuum leak. A transmission notification code may be hiding a simple range-sensor problem.
Fixing only the final damaged component without correcting the original cause is an excellent way to purchase the same part twice.
Frequently Asked Questions
Can I drive with the Check Engine Light on?
It depends on the code and symptoms.
A steady Check Engine Light with normal operation may allow short-term driving. A flashing light, severe misfire, overheating, transmission slipping, or oil-pressure warning requires immediate attention.
Does an OBD-II code identify the failed part?
Not always.
The code identifies the system, circuit, or condition that failed a self-test. Additional testing is often required to identify the actual cause.
Can clearing a code fix the problem?
No.
Clearing the code erases stored information and turns off the light temporarily. If the fault remains, the code will return after the monitor runs again.
Why did my code return after replacing the sensor?
Possible reasons include:
- The sensor was not the root cause.
- Wiring is damaged.
- A vacuum or exhaust leak remains.
- The replacement sensor is incorrect or poor quality.
- The code was misinterpreted.
- The wrong bank or sensor was replaced.
What is the difference between Bank 1 and Bank 2?
Bank 1 contains Cylinder 1.
Bank 2 is the opposite cylinder bank. The physical side varies by manufacturer.
What is the difference between Sensor 1 and Sensor 2?
- Sensor 1 is upstream of the catalytic converter.
- Sensor 2 is downstream of the catalytic converter.
Sensor 1 primarily controls fuel delivery. Sensor 2 primarily monitors catalyst operation.
Can a cheap OBD-II scanner diagnose every code?
A basic scanner can read many generic engine codes.
Advanced diagnosis may require access to:
- Transmission modules
- ABS modules
- Manufacturer-specific data
- Bidirectional controls
- Misfire counters
- Enhanced sensor data
A $20 scanner can tell you the transmission is unhappy. It may not tell you why it has chosen violence.
Complete OBD-II Guide Directory
Air, Fuel and Oxygen-Sensor Codes
- P0101 MAF Sensor Range/Performance
- P0113 Intake-Air Temperature Circuit High
- P0171 System Too Lean Bank 1
- P0174 System Too Lean Bank 2
- P2195 O2 Sensor Stuck Lean Bank 1 Sensor 1
- P2197 O2 Sensor Stuck Lean Bank 2 Sensor 1
Misfire Codes
Catalytic-Converter Codes
EVAP Codes
Camshaft and Timing Codes
- P0011 Intake Camshaft Timing Over-Advanced
- P0014 Exhaust Camshaft Timing Over-Advanced
- P0016 Crankshaft/Camshaft Correlation
Cooling-System Codes
- P0117 Coolant-Temperature Sensor Circuit Low
- P0118 Coolant-Temperature Sensor Circuit High
- P0128 Coolant Below Thermostat Regulating Temperature
Idle-Control Code
Transmission Codes
- P0700 Transmission Control-System Malfunction
- P0705 Transmission Range-Sensor Malfunction
- P0741 Torque-Converter Clutch Stuck Off
Final Thoughts
OBD-II codes are valuable diagnostic clues, but they should never replace proper testing.
The most common Check Engine Light codes generally fall into several groups:
- Lean air/fuel mixture codes
- Misfire codes
- Catalytic-converter codes
- EVAP leak codes
- Camshaft timing codes
- Temperature-sensor codes
- Airflow codes
- Transmission codes
Start by reading all stored codes, saving freeze-frame information, inspecting basic mechanical and electrical systems, and reviewing live data.
Then use the individual Pro Street OBD-II guides above to test the system methodically before replacing parts.
The goal is not simply to turn off the Check Engine Light. The goal is to fix the problem that turned it on—preferably before the parts cannon empties your checking account.










