OBD2 trouble codes: what every generic code means
All 2,693 generic SAE J2012 codes that the Brimly iPhone app carries in its offline dictionary — powertrain, body, chassis and network. Type a code to jump straight to it, or browse by system and range below.
Most searched codes
- P0420 Catalyst System Efficiency Below Threshold (Bank 1)
- P0300 Random/Multiple Cylinder Misfire Detected
- P0171 System Too Lean (Bank 1)
- P0455 Evaporative Emission System Leak Detected (Large Leak)
- P0442 Evaporative Emission System Leak Detected (Small Leak)
- P0128 Coolant Thermostat (Temperature Below Regulating Temperature)
- P0401 Exhaust Gas Recirculation Flow Insufficient Detected
- P0101 Mass or Volume Air Flow Circuit Range/Performance
- P0135 O2 Sensor Heater Circuit (Bank 1 Sensor 1)
- P0011 "A" Camshaft Position - Timing Over-Advanced (Bank 1)
- P0016 Crankshaft Position - Camshaft Position Correlation (Bank 1 Sensor A)
- P0700 Transmission Control System (MIL Request)
- P0741 Torque Converter Clutch Circuit Performance or Stuck Off
- P0301 Cylinder 1 Misfire Detected
- P0172 System Too Rich (Bank 1)
- P0441 Evaporative Emission System Incorrect Purge Flow
- P0446 Evaporative Emission System Vent Control Circuit
- P0133 O2 Sensor Circuit Slow Response (Bank 1 Sensor 1)
- P0335 Crankshaft Position Sensor "A" Circuit
- P0340 Camshaft Position Sensor "A" Circuit (Bank 1)
- P0325 Knock Sensor 1 Circuit (Bank 1)
- P0500 Vehicle Speed Sensor "A"
- P0505 Idle Air Control System
- P0299 Turbocharger/Supercharger Underboost Condition
- P0087 Fuel Rail/System Pressure - Too Low
- P0562 System Voltage Low
- P0113 Intake Air Temperature Sensor 1 Circuit High
- P0118 Engine Coolant Temperature Circuit High
- P2135 Throttle/Pedal Position Sensor/Switch "A"/"B" Voltage Correlation
- U0100 Lost Communication With ECM/PCM "A"
- P2002 Diesel Particulate Filter Efficiency Below Threshold (Bank 1)
- P2463 Diesel Particulate Filter - Soot Accumulation
- P0606 ECM/PCM Processor
How to read a trouble code
Every code has five characters, and each position narrows it down. Once you know them you can place any code in the right neighborhood before looking it up.
Powertrain. Engine, transmission, fuel and emissions — the codes behind the check engine lamp.
Generic code: defined by SAE, the same on every make.
Auxiliary emission controls.
The specific fault within this range.
Browse by system and range
Powertrain (P)
Engine, transmission, fuel and emissions — the codes behind the check engine lamp.
- P00xx Fuel & air metering — valve timing, O2-sensor heaters, boost control, fuel pressure 194 codes
- P01xx Fuel & air metering — MAF, MAP, temperature, throttle and oxygen sensors, fuel trim 135 codes
- P02xx Injectors, fuel pumps, turbocharger boost and over-temperature 125 codes
- P03xx Ignition system and misfire 94 codes
- P04xx Emission controls — EGR, secondary air, catalyst, EVAP 101 codes
- P05xx Vehicle speed, idle control, cruise control and auxiliary inputs 125 codes
- P06xx Control modules and output circuits 155 codes
- P07xx Transmission — shift solenoids, speed sensors, gear ratios 130 codes
- P08xx Transmission — switches, fluid pressure, 4WD and clutch 117 codes
- P09xx Transmission — automated manual, hydraulics and pressure control 100 codes
- P0Axx Hybrid and EV propulsion 170 codes
- P20xx Emissions — particulate filter, NOx trap, AdBlue (SCR), intake runners 130 codes
- P21xx Electronic throttle, pedal position and fuel-trim limits 106 codes
- P22xx NOx and O2 sensors, secondary air, intake leaks, barometric pressure 117 codes
- P23xx Ignition coils and cylinder knock 48 codes
- P24xx Emissions — EVAP leak detection, EGR cooling, particulate filter 83 codes
- P25xx Charging system, oil and coolant level, auxiliary inputs 94 codes
- P26xx Auxiliary outputs — coolant pumps, rocker arms, injection pump 84 codes
- P27xx Transmission — friction elements, pressure control, torque converter 100 codes
- P28xx Transmission — range sensor and pressure control 43 codes
- P34xx Cylinder deactivation and valve control 98 codes
Body (B)
Airbags, seat belts and other cabin systems.
Chassis (C)
ABS, traction and stability control, steering.
Network (U)
Communication between the car’s control modules.
- U00xx Network wiring — CAN and communication buses 82 codes
- U01xx Lost communication — powertrain, chassis and body modules 94 codes
- U02xx Lost communication — doors, seats, roof and other body modules 44 codes
- U03xx Software incompatibility between modules 32 codes
- U04xx Invalid data received from a module 32 codes
- U30xx Control modules and vehicle data 4 codes
Manufacturer-specific codes
Codes with a 1 in the second position (P1xxx, B1xxx, C1xxx, U1xxx), as well as B2/B3, C2/C3, U2 and P30xx–P33xx, are defined by each carmaker, so the same number can mean different things on a Ford and a Toyota. They aren’t in this directory. Brimly reads them too and labels them as manufacturer-specific; the assistant can often explain one once it knows your car.
Read the codes from your own car
Plug an inexpensive Bluetooth LE or Wi-Fi OBD2 adapter into the port under the dashboard, and Brimly on your iPhone reads the stored, pending and permanent codes, explains each one offline and clears them once the fault is fixed. OBD diagnostics are part of Brimly Forever, a one-time purchase.
Frequently asked
What is an OBD2 code?
A five-character diagnostic trouble code (DTC) that a car’s control module stores when one of its self-tests fails. Every gasoline car sold in the US since 1996 supports OBD2 (in the EU: gasoline cars since 2001, diesels since 2004), so any OBD2 scanner or adapter can read the codes from the 16-pin port under the dashboard.
What’s the difference between generic and manufacturer-specific codes?
Generic codes — P0xxx, P2xxx, P34xx–P39xx, B0xxx, C0xxx, U0xxx and U3xxx — are defined by the SAE J2012 standard and mean the same on every make. Manufacturer-specific codes (P1xxx, P30xx–P33xx, B1–B3, C1–C3, U1–U2) are defined by each carmaker, so their meaning depends on the brand.
Can I read the codes myself?
Yes. A Bluetooth or Wi-Fi OBD2 adapter plugged into the port under the dashboard and a phone app read the stored codes in a couple of minutes; many auto parts stores will also read them for free. On an iPhone the adapter has to be Bluetooth LE or Wi-Fi — classic Bluetooth adapters can’t pair with iOS.
Does clearing a code fix the problem?
No. Clearing erases the record and turns the lamp off, but the car keeps running the same self-test and stores the code again if the fault is still there. It also resets the emissions readiness monitors, so a freshly cleared car fails an inspection until it has been driven enough to re-run them.