Diagnostics

OBD2 fault codes explained (P0420 and beyond)

An OBD2 fault code — also called a Diagnostic Trouble Code, or DTC — is a standardized five-character code your car stores when it detects a problem and turns on the check engine light. For example, P0420 means the catalytic converter on bank 1 is operating below its efficiency threshold. The code points to a system, not always the exact broken part — here's how to read and act on any code.

What is OBD2?

OBD2 (On-Board Diagnostics, second generation) is a self-diagnostic system built into virtually every car sold in the United States since 1996 (and in many other markets shortly after). Dozens of sensors continuously monitor the engine, emissions, and related systems. When a reading falls outside its expected range, the computer stores a fault code and — if it affects emissions — illuminates the check engine light.

Because the standard is universal, a cheap OBD2 scanner or a phone app paired with a Bluetooth adapter can read those codes from any compliant vehicle through the same 16-pin port, usually found under the dashboard near the steering column.

How to read a DTC: the five characters

Every OBD2 code follows the same structure — one letter and four numbers, like P0420. Decoding each position tells you a lot before you even look up the description:

So P0420 reads as: Powertrain, 0 generic, emissions subsystem, fault number 20 — “Catalyst System Efficiency Below Threshold (Bank 1).” Once you can parse the structure, no code is a total mystery.

What does P0420 mean — and what actually causes it?

P0420 tells you the catalytic converter on bank 1 isn't cleaning the exhaust as efficiently as the computer expects. The car knows this by comparing the upstream and downstream oxygen-sensor readings. Crucially, the code names the symptom, not the guaranteed cause. A failing catalytic converter is one possibility, but the same code is frequently triggered by:

What to do when the check engine light comes on

First, note how the light is behaving, because it changes the urgency:

Next, read the code with a scanner or app and write down the exact DTC — don't rely on memory. Look up the official description and the common causes, starting with the cheapest and most likely. Inspect the obvious things first: a loose or cracked gas cap alone can trigger an evaporative-emissions code like P0455.

If your scanner shows freeze-frame data, save it. Freeze frame is a snapshot of conditions at the moment the fault triggered — engine speed, coolant temperature, load, and fuel trim — and it's often the difference between guessing and diagnosing. A code that only appears when the engine is cold, or only under hard acceleration, tells a very different story than one that's constant, and the freeze frame is where that story lives.

Why you should log every code, not just clear it

Many scanners and apps let you clear codes and reset the check engine light. Clearing a code does not fix the underlying problem — if the fault is still present, the code returns, often after a few drive cycles. Worse, clearing codes erases the freeze-frame data the computer captured at the moment of the fault, which is exactly the information that helps diagnose an intermittent issue.

The smarter habit is to log every code with the date and mileage before you clear it. A history shows you patterns — the same P0300 misfire returning every cold morning, or a code that reappears 200 miles after each “repair.” That pattern is often what cracks a stubborn intermittent fault, and it's invaluable for a mechanic or a future buyer.

Keep a running history of your fault codes

MyDIYGarage lets you log each OBD2 code with the date, mileage, and a note, building a searchable diagnostic history per vehicle — so a recurring code never slips past you. Free to start.

Common codes worth recognizing

A handful of codes show up far more often than the rest. Knowing them on sight saves time:

The bottom line

OBD2 fault codes are a standardized language your car uses to tell you where to look. Decode the five characters to understand the system, treat the code as a starting point rather than a verdict, and diagnose the cause before replacing expensive parts. Above all, log every code with its date and mileage — a diagnostic history is the most powerful tool you have for solving the codes that keep coming back.

Put it into practice.

Track maintenance, fuel, fault codes, and EV upkeep across every vehicle — free to start.

Create your free account