Free decoder · 100+ codes explained

OBD-II Codes
decoded, for free

Type or paste any engine code — P0301, P0420, U0100… — and get a clear explanation, the likely causes and the fixes. No signup, no charge.

P, B, C & U codes Searchable dictionary Causes & fixes included
Share:
Advertisement
Part 1 · The basics

What is an OBD-II code?

OBD-II (On-Board Diagnostics) is the standard diagnostic system fitted to cars since 1996. When a sensor or system behaves abnormally, the ECU stores a Diagnostic Trouble Code (DTC) and usually turns on the check engine light.

Every code is a five-character string, e.g. P0301: the letter identifies the system (Powertrain, Body, Chassis, Network), the first digit tells you if it is generic or manufacturer-specific, the second points to a subsystem, and the last two identify the exact fault.

Part 2 · Decode

OBD-II code decoder

System
Type
Subsystem
Fault #
Part 3 · The dictionary

Search by symptom

Don't have the code handy? Pick what your car is doing and see which codes often match.

Codes that often match
Pick a symptom to see the likely codes.
Part 3 · The dictionary

Common codes

Search codes…

Code Description
B0001 Driver Frontal Stage 1 Deployment Loop
B0022 Driver Airbag Circuit Malfunction
B1325 Lamp Control Circuit Malfunction
B1342 ECU Internal Fault
C0035 Left Front Wheel Speed Sensor Circuit
C0040 Right Front Wheel Speed Sensor Circuit
C0561 ABS System Disabled
P0010 "A" Camshaft Position Actuator Circuit (Bank 1)
P0011 "A" Camshaft Position Timing Over-Advanced (Bank 1)
P0016 Crankshaft/Camshaft Timing Misalignment (Bank 1)
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)
P0100 Mass Air Flow (MAF) Sensor Circuit Malfunction
P0101 Mass Air Flow (MAF) Sensor Range/Performance
P0106 MAP Sensor Range/Performance
P0113 Intake Air Temperature Sensor High Input
P0115 Engine Coolant Temperature Sensor Circuit
P0117 Engine Coolant Temperature Sensor Low Input
P0122 Throttle Position Sensor Low Input
P0125 Insufficient Coolant Temp for Closed Loop
P0126 Insufficient Coolant Temperature for Stable Operation
P0128 Coolant Thermostat Below Regulating Temperature
P0130 O2 Sensor Circuit Malfunction (Bank 1, Sensor 1)
P0133 O2 Sensor Slow Response (Bank 1, Sensor 1)
P0135 O2 Sensor Heater Circuit (Bank 1, Sensor 1)
P0136 O2 Sensor Circuit (Bank 1, Sensor 2)
P0140 O2 Sensor No Activity (Bank 1, Sensor 2)
P0171 System Too Lean (Bank 1)
P0172 System Too Rich (Bank 1)
P0174 System Too Lean (Bank 2)
P0201 Injector Circuit Malfunction - Cylinder 1
P0202 Injector Circuit Malfunction - Cylinder 2
P0203 Injector Circuit Malfunction - Cylinder 3
P0204 Injector Circuit Malfunction - Cylinder 4
P0234 Turbocharger Overboost Condition
P0299 Turbocharger Underboost Condition
P0300 Random/Multiple Cylinder Misfire
P0301 Cylinder 1 Misfire
P0302 Cylinder 2 Misfire
P0303 Cylinder 3 Misfire
P0304 Cylinder 4 Misfire
P0325 Knock Sensor 1 Circuit Malfunction
P0330 Knock Sensor 2 Circuit Malfunction
P0335 Crankshaft Position Sensor Circuit
P0340 Camshaft Position Sensor Circuit (Bank 1)
P0350 Ignition Coil Primary/Secondary Circuit Malfunction
P0351 Ignition Coil "A" Primary Circuit
P0352 Ignition Coil "B" Primary Circuit
P0353 Ignition Coil "C" Primary Circuit
P0354 Ignition Coil "D" Primary Circuit
P0401 EGR Flow Insufficient
P0403 EGR Control Circuit Malfunction
P0411 Secondary Air Injection Incorrect Flow
P0420 Catalyst System Efficiency Below Threshold (Bank 1)
P0430 Catalyst System Efficiency Below Threshold (Bank 2)
P0442 EVAP System Small Leak Detected
P0446 EVAP Vent Control Circuit Malfunction
P0455 EVAP System Large Leak
P0456 EVAP System Very Small Leak
P0463 Fuel Level Sensor High Input
P0480 Cooling Fan 1 Control Circuit Malfunction
P0500 Vehicle Speed Sensor Circuit Malfunction
P0501 Vehicle Speed Sensor Range/Performance
P0506 Idle Control System RPM Lower Than Expected
P0507 Idle Control System RPM Higher Than Expected
P0520 Engine Oil Pressure Sensor Circuit
P0521 Engine Oil Pressure Sensor Range/Performance
P0562 System Voltage Low
P0601 PCM Internal Memory Checksum Error
P0603 PCM Internal Keep-Alive Memory Error
P0606 PCM Processor Fault
P0620 Generator Control Circuit Malfunction
P0627 Fuel Pump Control Circuit
P0650 Malfunction Indicator Lamp Control Circuit
P0700 Transmission Control System Malfunction
P0703 Torque Converter Brake Switch Circuit
P0705 Transmission Range Sensor Circuit
P0715 Input/Turbine Speed Sensor Circuit
P0717 Input/Turbine Speed Sensor No Signal
P0725 Engine Speed Input Circuit
P0730 Incorrect Gear Ratio
P0741 Torque Converter Clutch Circuit Stuck Off
P0751 Shift Solenoid "A" Performance
P0841 Transmission Fluid Pressure Sensor Performance
P0894 Transmission Component Slipping
P0960 Pressure Control Solenoid "A" Control Circuit
P2187 System Too Lean at Idle (Bank 1)
U0100 Lost Communication With ECM/PCM
U0101 Lost Communication With Transmission Control Module
U0105 Lost Communication With Fuel Injector Control Module
U0121 Lost Communication With ABS Module
U0122 Lost Communication With Vehicle Dynamics Module
U0140 Lost Communication With Body Control Module
U0155 Lost Communication With Instrument Panel Cluster
Advertisement
Part 4 · Common faults

The four OBD-II families

The first letter of the code tells you which system it concerns.

P — Powertrain

  • Engine & transmission
  • Fuel, ignition, emissions
  • Most common codes (P0300…)
  • Usually triggers check engine light

B — Body

  • Airbags, HVAC, lighting
  • Power windows & locks
  • Body control module faults

C — Chassis

  • ABS & ESP
  • Wheel speed sensors
  • Steering & suspension

U — Network

  • CAN bus communication
  • Lost communication between modules
  • Often battery/ground related
Part 3 · The dictionary

Quick glossary

The diagnostic terms you need to know.

DTC
Diagnostic Trouble Code — the five-character code stored by the ECU.
OBD-II
The standard on-board diagnostics since 1996.
ECU / PCM
Engine Control Unit / Powertrain Control Module — the car’s engine computer.
MIL
Malfunction Indicator Lamp — the check engine light.
Pending code
A code that failed once; it becomes stored after repeated failures.
Freeze frame
A snapshot of engine conditions when the fault was recorded.
Generic vs manufacturer
Generic codes (P0xxx) are standardized; manufacturer codes (P1xxx/P2xxx) are brand-specific.
CAN bus
The network that connects the car’s modules.
Sensor / actuator
A sensor measures; an actuator (solenoid, motor) acts.
Live data
Real-time sensor readings while the engine runs.
Advertisement
Part 4 · Common faults

OBD-II FAQ

Are OBD-II codes the same for every car?
Generic codes (P0xxx, and most B/C/U) are standardized across brands. Manufacturer-specific codes (P1xxx, P2xxx) differ by brand — that is why we built brand-specific pages.
Do I need a professional scanner?
For most people, a cheap OBD-II reader or a phone app with an ELM327 adapter is enough to read codes. Professional scanners add live data, bi-directional tests and more depth.
Does the code tell me which part to replace?
Not always. A code describes the symptom and the circuit involved. Diagnose (test, inspect wiring, check live data) before buying parts to avoid replacing good components.
Can I clear the check engine light myself?
Yes, with a scanner, but the light will return if the problem is not fixed. Clearing a code without repairing the fault is not a solution.
Why is my check engine light on but the car drives fine?
Many codes (EVAP, O2 sensors, thermostat) do not affect drivability. Still have it checked — some faults worsen over time and can damage the catalytic converter or engine.
What is a pending code?
A pending code appears after a single failed self-test. If the test passes later, it may clear itself; if it fails repeatedly, the code becomes stored and the light turns on.
Do engine codes reset themselves?
Some do if the condition clears and enough drive cycles pass. Others stay stored until cleared with a scanner.
Which codes are the most serious?
Misfires (P0300 series), low oil pressure (P0520), overheat-related codes and network failures (U0100) deserve immediate attention to avoid engine or transmission damage.

Diagnostic info is for guidance only. Always confirm with a proper diagnosis. Clearing codes without fixing the fault is not a repair.

Continue reading

Find your code in seconds

Use the decoder below — it covers P, B, C and U codes, plus 8 of the most common car brands.

Advertisement