How to Read OBD-II Codes: P, C, B, and U Families

What a trouble code is

A diagnostic trouble code is a note your car's computer writes when a monitored system falls out of range. The computer watches sensors and circuits while you drive. When a reading crosses a limit, it saves the fault and turns on the check engine light. An OBD-II scanner plugs into the diagnostic port and reads those saved notes back. The code names the fault area. It does not name the part to replace. Treat it as the start of a diagnosis, not the answer.

The four letter families

Every OBD-II code starts with one of four letters. The letter tells you which system reported the fault.

P codes are the ones most drivers see. C, B, and U codes often need a scan tool that can reach modules beyond the engine computer. For example, C0035 is a wheel speed sensor fault and B0001 is an airbag deployment circuit fault. A basic code reader may never show them.

How the digits work

A code is five characters: the letter plus four more. The four can include the hex letters A through F.

  1. First digit after the letter. A 0 means a generic code that every automaker shares. A 1 means a manufacturer-specific code. A 2 or 3 changes meaning with the letter family.
  2. Second digit. This usually points at the system. 0 and 1 cover fuel and air metering. 2 covers injector circuits. 3 covers ignition and misfire. 4 covers auxiliary emissions. 5 covers speed and idle control. 6 covers computer output. 7 and 8 cover transmission. A through F mark hybrid codes.
  3. Last two digits. These name the exact fault inside that system.

Read the first digit before you trust anything else. A generic P0300 means the same thing on every make. A manufacturer code with a 1 in front can mean something different on each brand. That is why the make and model matter when you look a code up.

The three states a code can be in

A scanner can show the same fault in three states.

Write all three down before you clear anything. A pending code that never became stored still tells you a fault is building.

Freeze frame: the snapshot that matters

When a fault sets the light, the computer also saves a snapshot of live data from that moment. That snapshot is the freeze frame. It can hold engine load, coolant temperature, vehicle speed, airflow, and fuel trim. It also records which code caused it.

The freeze frame shows the conditions the fault happened under. A lean code at idle points at a vacuum leak. The same code under highway load points at fuel delivery. Read the freeze frame before you clear codes, because clearing erases it.

Where the port is and the 1996 rule

Every US car and light truck sold from model year 1996 on uses a standard diagnostic port. It is a 16-pin connector known as the J1962. Federal rules require it within easy reach of the driver, and in practice that puts it under the dash on the driver side. One pin carries battery voltage, which is what powers the scanner.

So the short answer to "does my car have OBD-II": if it is a 1996-or-newer US passenger car or light truck under 8,500 pounds, yes. Pre-1996 cars use a mix of manufacturer connectors and flash codes, and some 1994 and 1995 models carry only a partial version of OBD-II. A standard scanner may not connect to those.

Clearing codes, drive cycles, and when to stop

Clearing codes wipes the stored and pending codes and the freeze frame. It does not fix the fault, so the light comes back if the problem is still there. Permanent codes stay until the car passes its own tests, which means clearing them and rushing to an emissions test does not work.

After a repair, drive the car through its normal cycles. The monitors run their tests, and the computer turns the light off on its own once it sees the fix hold. Give it a few days of mixed driving, not one short trip. Common lookups on this site: P0420, P0171, P0128.

Two cases belong at a shop, not a driveway. A flashing check engine light means a severe misfire that can overheat and destroy the catalytic converter. Stop driving and get it looked at. Brake and airbag codes are safety systems. A basic code reader cannot reach the ABS or airbag modules or run their tests, so those codes need a scan tool a shop has.