OBD2 check engine codes for Subaru
Subaru's horizontally opposed boxer engines have unique cooling and oiling characteristics that affect OBD2 diagnosis—head gasket failures on older EJ engines cause multiple downstream codes before the root cause is identified. The FA and FB SKYACTIV-era engines are more reliable, but Subaru's AVCS cam timing system generates P0011/P0014 codes when oil maintenance is neglected.
Select a code below for Subaru-specific causes, affected models, and repair cost estimates.
Frequently asked questions
What are the most common check engine codes for Subaru?
The most frequently seen OBD2 codes on Subaru vehicles include P0420 (catalyst efficiency), P0171 (system lean), P0300 (random misfire), P0128 (coolant below thermostat temperature), and P0442 (EVAP small leak). Select any code above for Subaru-specific causes and repair guidance.
Can I diagnose Subaru OBD2 codes myself?
Yes. A basic Bluetooth OBD2 scanner ($20–$40) paired with a free app will read all standard P-codes on any Subaru. For manufacturer-specific codes or advanced system faults, a professional scan tool provides more detail. Most auto parts stores will also read codes for free.
How much does it cost to fix a check engine code on a Subaru?
Repair costs vary widely by code and model. Simple fixes like a loose gas cap or a sensor replacement run $20–$150. Moderate repairs such as an oxygen sensor, thermostat, or ignition coil typically cost $150–$400. Major repairs like a catalytic converter or transmission component can run $500–$2,500 or more. Each code page includes a specific cost range.
Is it safe to drive a Subaru with the check engine light on?
It depends on the code. Many codes—like EVAP leaks or minor sensor faults—are safe to drive with for a few days. A flashing check engine light or codes related to misfires, oil pressure, or overheating require stopping immediately. Look up your specific code for a direct answer.
Browse Subaru by model year
Year-specific guides include Subaru-tailored causes and repair costs.