🔧 Navigate your Subaru Check Engine Codes
Complete Subaru CEL Code Guide
Understand what your Subaru’s check engine light really means. This guide breaks down the most common Subaru CEL (Check Engine Light) codes — with explanations, causes, and recommended fixes.
What Is a Subaru Check Engine Code?
When your Subaru’s onboard computer detects something out of spec, it stores a diagnostic trouble code (DTC). These CEL codes help identify problems like misfires, emissions faults, or sensor failures.
Even reliable models like the Subaru Forester, Outback, and Impreza can trigger CELs due to:
-
Aging components
-
Vacuum leaks
-
Sensor malfunctions
-
Emissions control issues
Why This Guide Is Different
ToolGrit’s Subaru code reference is designed for real-world diagnosis. Whether you’re a weekend DIYer or just want to understand what your mechanic’s talking about, this guide helps you:
-
Decode Subaru check engine light codes
-
Understand symptoms and causes
-
Learn which parts are usually involved
-
Get practical tips before you grab a wrench
Explore Common Subaru Codes
Use the searchable table below to filter by code, model year, part type, or description. Click any column to sort. Codes are tailored to Subaru’s most common issues — so you can focus on what’s relevant.
Most popular codes include:
-
P0420 – Catalyst System Efficiency Below Threshold
-
P0301 – Cylinder 1 Misfire Detected
-
P0457 – EVAP System Leak (Loose Gas Cap)
🔧 Recommended Tools for Subaru CEL Diagnosis
These affordable tools will help you read, diagnose, and fix check engine light issues on most Subaru models.
✅ OBD-II Scan Tool
Read Subaru-specific codes, monitor sensor data, and clear the check engine light.
➡️ Best if it supports live data and freeze frame.
🔗 View on Amazon
🖼️ Image Prompt: “modern OBD-II scanner with live data screen next to Subaru dashboard”
✅ MAF Sensor Cleaner
Safe spray for cleaning your mass airflow sensor — a common culprit in lean codes like P0171.
➡️ Don’t use regular electronics cleaner; this is designed for airflow sensors.
🔗 Buy MAF Cleaner
🖼️ Image Prompt: “can of MAF sensor cleaner on workbench with Subaru airbox”
✅ Oxygen Sensor Socket
Special socket makes O2 sensor removal easier, even with heat shields in the way.
➡️ Helpful for P0420, P0137, and P0141 repairs.
🔗 Get Sensor Socket
🖼️ Image Prompt: “oxygen sensor socket tool removing sensor on Subaru exhaust”
✅ Digital Multimeter
For checking voltage, resistance, and sensor signals like IAT, MAP, or O2 heater circuits.
➡️ Essential for deeper diagnostics and verifying wiring faults.
🔗 Shop Multimeters
🖼️ Image Prompt: “DIYer using a digital multimeter on Subaru engine harness”
💡 Heads-up: Some links may be affiliate links — no extra cost to you, but they help support ToolGrit.
Code | Description | Models/Years | Likely Causes | Parts Needed | Fix/Tips |
---|---|---|---|---|---|
P0420 | Catalyst System Efficiency Below Threshold (Bank 1) | Accord (2003–2012), Civic (2001–2011), CR-V (2002–2011) | Catalytic converter failure, O2 sensor fault, exhaust leaks | Catalytic converter, O2 sensors | Use live data to compare O2 sensors; inspect for exhaust leaks before the cat. |
P1457 | EVAP Control System Leak (Canister Area) | Civic, Accord (1999–2005), CR-V | Bad vent valve or damaged EVAP canister | Vent valve, EVAP canister | Test with smoke machine; often the rear canister vent valve is the issue. |
P0171 | System Too Lean (Bank 1) | Civic, Accord, CR-V, Fit | Vacuum leak, MAF sensor dirty, clogged fuel injector | MAF sensor, vacuum lines, fuel filter | Check long-term fuel trim; inspect intake hose and vacuum lines. |
P0300 | Random/Multiple Cylinder Misfire Detected | Civic, Accord, Pilot, Odyssey | Ignition misfire, fuel pressure issue, vacuum leak | Spark plugs, coils, injectors | Use freeze frame data to identify misfiring conditions. |
P0301 | Cylinder 1 Misfire Detected | Civic, Accord | Worn spark plug, ignition coil, valve adjustment | Spark plug, ignition coil | Swap plug/coil with another cylinder to test. |
P0302 | Cylinder 2 Misfire Detected | Civic, Accord | Same as P0301 but cylinder 2 | Spark plug, ignition coil | Same test method as P0301. |
P0303 | Cylinder 3 Misfire Detected | Civic, Accord | Same as P0301 but cylinder 3 | Spark plug, ignition coil | Same test method as P0301. |
P0304 | Cylinder 4 Misfire Detected | Civic, Accord | Same as P0301 but cylinder 4 | Spark plug, ignition coil | Same test method as P0301. |
P0497 | EVAP Emission System Low Purge Flow | Civic, CR-V | Faulty purge valve or stuck closed | Purge control valve | Check purge valve operation with scanner and vacuum test. |
P0456 | EVAP System Leak Detected (Very Small Leak) | Civic, Accord, CR-V | Loose gas cap, cracked hose | Gas cap, EVAP hose | Retighten gas cap; inspect hoses or smoke test. |
P0442 | EVAP Leak Detected (Small Leak) | Civic, Accord | Cracked vacuum hose or leak at connector | EVAP lines, hoses | Smoke test EVAP lines for micro cracks. |
P0135 | O2 Sensor Heater Circuit Malfunction (Bank 1 Sensor 1) | Accord, CR-V | Burnt-out O2 sensor or blown fuse | O2 sensor, fuse | Check fuse and sensor resistance. |
P0128 | Coolant Thermostat Below Reg Temp | Accord, Civic, CR-V | Thermostat stuck open, low coolant | Thermostat, coolant | Check ECT with scanner and replace thermostat. |
P0113 | IAT Sensor 1 Circuit High Input | Accord, Civic, CR-V | Disconnected sensor, open circuit | IAT sensor | Reconnect or replace sensor, clear code. |
P0507 | Idle Control System RPM Higher Than Expected | Civic, Accord | Vacuum leak, dirty throttle body | Throttle body, PCV valve | Clean throttle body and inspect for leaks. |
P0401 | EGR Flow Insufficient | Accord, Odyssey | Clogged EGR passage, stuck valve | EGR valve | Remove and clean valve and ports. |
P0325 | Knock Sensor Circuit Malfunction | Civic, Accord, CR-V | Failed knock sensor or wiring issue | Knock sensor | Replace sensor and verify harness continuity. |
P0141 | O2 Sensor Heater Circuit (Bank 1 Sensor 2) | Civic, Accord | Failed heater in O2 sensor or wiring short | O2 sensor | Replace sensor and inspect wiring near exhaust. |
P2646 | VTEC Oil Pressure Switch Circuit Low Voltage | Civic (2003–2011), CR-V | Low oil pressure, faulty VTEC solenoid | VTEC solenoid, oil, oil pressure switch | Check oil level and pressure; replace switch if voltage stays low. |
P1009 | VTC Advance Malfunction | Accord, CR-V | Timing chain stretched or faulty VTC actuator | Timing chain, VTC actuator | Verify timing alignment and scan VTC angle vs commanded. |