What the check engine light is actually telling you
273 OBD-II trouble codes explained, with the causes ordered by how often each one turns out to be the answer rather than by how much it costs. Every page says whether the car is safe to drive and which capability tier of scanner can genuinely diagnose it.
Start with the code
If you already have a number, go straight to it.
- P0420: Catalyst System Efficiency Below Threshold (Bank 1)
- P0171: System Too Lean (Bank 1)
- P0300: Random/Multiple Cylinder Misfire Detected
- P0456: Evaporative Emission System Leak Detected (Very Small Leak)
- P0128: Coolant Thermostat (Coolant Temperature Below Regulating Temperature)
- P0430: Catalyst System Efficiency Below Threshold (Bank 2)
Start with the question
If you do not have a code yet, or you have one and do not know what to do about it.
TOPDON TopScan Lite OBD2 Scanner, Bidirectional Scan Tool, 8 Resets & AI
Live data and full system access are the step from knowing the code to knowing the cause. A basic reader gives you the number and nothing to check it against, which is why almost every code page here points at this tier.
Coverage varies by tool and by model year, so check a specific tool against a specific vehicle before buying.
Codes by system
Every code page gives the standard definition, the causes ordered cheapest and most common first, what it costs to ignore, whether the car is safe to drive, and what to look at in freeze frame. A further 54 pages cover specific makes, written only where the patterns behind a code genuinely differ by manufacturer.
- 104 codes
Fuel and air metering codes
Lean and rich conditions, mass air flow, manifold pressure, throttle position and oxygen sensor circuits.
- 9 codes
Injector circuit codes
Injector drive circuits, cylinder contribution, boost control and the codes that sit between fuel delivery and combustion.
- 36 codes
Misfire and ignition codes
Random and per-cylinder misfire detection, crankshaft and camshaft position, coil primary and secondary circuits.
- 31 codes
Emission control codes
Catalyst efficiency, evaporative emission leaks, exhaust gas recirculation and secondary air injection.
- 23 codes
Speed, idle and auxiliary input codes
Vehicle speed sensing, idle control, cruise control, oil pressure and the auxiliary inputs the computer watches.
- 24 codes
Computer and output circuit codes
Internal control module faults, reference voltage circuits, relay drivers and the outputs the computer commands.
- 22 codes
Transmission codes
Gear ratio errors, torque converter clutch circuits, shift solenoids, fluid temperature and range sensing.
- 8 codes
Body and restraint codes
Airbag, seat belt pretensioner and occupant classification circuits. These sit outside generic OBD-II.
- 8 codes
Chassis, brake and stability codes
Wheel speed sensors, ABS hydraulic circuits, traction and stability control. These sit outside generic OBD-II.
- 8 codes
Network and communication codes
Lost communication between modules, bus faults and control module mismatches.
Complete kits
Three kits at rising budgets. They are not one list at three prices: each adds a capability the one below it does not have, and each says plainly what to skip.
- Beginner · $88
The glovebox kit
The smallest set of tools that turns a lit check engine light into a real answer, chosen so nothing in it gets outgrown immediately.
- Intermediate · $298
The driveway kit
Everything needed to take a code from a number to a cause: live data, a meter, and the mechanical tests that confirm what the sensors are implying.
- Expert · $1084
The home shop kit
A bidirectional platform plus the leak, pressure and inspection tools that let you prove a fault before buying the part rather than after.
Why the causes are ordered, not just listed
A trouble code names a condition the engine computer observed, not a component that failed. P0420 is the clearest example: it reports that the catalyst is not converting as efficiently as the computer expects, and the obvious reading of that is a failed catalytic converter. It is also frequently a lazy downstream oxygen sensor, or an exhaust leak ahead of the converter letting outside air reach the sensor. One of those three answers costs a great deal more than the other two, and it is the one people are sold first.
So every code page here orders its causes by how often each turns out to be the answer, cheapest and most common first, with a sentence on what to actually check for each one. That ordering is the editorial work on this site. The definitions are a public standard and anyone can copy them; the order is the part that saves money.
What the site will not do
It will not tell you which part your car needs, because no website can know that. It will not claim anything was tested in person, because nothing here was: the product research comes from published manufacturer specifications, stated capabilities and owner reports. And it will not answer a question that has no honest answer, which is why the scanner selector refuses a budget that cannot buy the capability asked for rather than recommending the nearest cheaper tool that cannot do the job.
Scanners worth knowing about
- LJPXHHU
OBD2 Bluetooth Scanner Car Code Reader for iOS, Android and Windows
- wireless
$13.98 Check pricePrices change often - Veepeak
Veepeak Mini Bluetooth OBD2 Scanner Code Reader for Android (NOT for iOS)
- wireless
$14.99 Check pricePrices change often - MOCATEC
WiFi ELM327 OBD2 Adapter WiFi ELM 327 OBD Scanner for Universal 12V Vehicle
- wireless
$15.95 Check pricePrices change often - UMEIJA
OBD2 Scanner Diagnostic Tool, Car Scanner for iOS & Android, Bluetooth 5.4
- wireless
$29.99 Check pricePrices change often
Common questions
What does this site do?
It explains what every standardised OBD-II trouble code means, orders the likely causes by how often each one turns out to be the answer, says plainly whether the car is safe to drive, and names the capability tier of scanner that can actually diagnose it. There are 273 code pages and 6 decision tools.
Does a trouble code tell me which part to replace?
No, and that is the single most expensive misunderstanding in this subject. A code names the circuit or the condition where the engine computer saw a reading outside its expected range. Several genuinely different faults set the same code, and the component named in the code text is usually the most expensive candidate rather than the most likely one.
Where do the code definitions come from?
They are the standardised SAE J2012 and ISO 15031-6 generic definitions, which are a public standard, described here in our own words. Codes beginning P0 mean the same thing on every manufacturer. Codes beginning P1 or P3 are manufacturer defined and do not, which is why the site says so on every page where it matters.
How are the scanner recommendations made?
From published manufacturer specifications, the capabilities each listing states outright, price positions and owner reports. Nothing here is based on in-person use of the tools. Every product shown comes from a verified catalog of real listings, so no price, image or product on this site was invented.
Do the tools work without JavaScript?
Yes. Every tool ships with a worked answer already in the page, calculated at build time from its default inputs, alongside a plain statement of how it reaches that answer. JavaScript updates the result when you change an input and re-orders the product cards, all of which are present in the HTML either way.
What is the one thing worth knowing before reading anything else?
A flashing check engine light is different from a steady one. Flashing means an active misfire is sending unburnt fuel into the exhaust, where it can destroy the catalytic converter within minutes. Reduce load, pull over when it is safe, and do not finish the trip because it is nearly over.
