How to Read and Understand Check Engine Light (OBD-II) Codes

Mechanic Checking Engine

The Check Engine light can be somewhat of a mystery to car owners. When it pops on, it can indicate a wide number of issues with a vehicle, ranging from the mundane to the serious.

Part of the confusion around the Check Engine light is that it can indicate so many different things. The Check Engine light can refer to problems in the transmission, ignition, fuel system, emission controls, or computer circuitry, amongst other things. Symptoms of the problem may not be apparent. Therefore, we need the car to give us more information about what’s going wrong if we ever hope to fix it.

What Are OBD-II Codes?

Modern vehicles use DTC (Diagnostic Trouble Codes) stored on an onboard diagnostic computer (OBD) to let a mechanic with the right diagnostic tools understand exactly what is the trouble with the vehicle.

DTC, OBD codes, and OBD-II are terms that are now virtually synonymous. They all refer to the five-letter code you get from the onboard computer that indicates the problem.

How Do We Read OBD-II Codes?

OBD-II codes can be read from the vehicle using an OBD scanner. This is inserted into the vehicle’s OBD port, which you’ll usually find under the driver’s side dashboard near the pedals. OBD ports don’t require tools to access and have a 16-pin trapezoidal connector.

The scan tool will power up when it’s plugged into the OBD port and should have an option to ‘Read Codes.’ From there, it will display the various error codes the vehicle is complaining about. It is possible there are multiple OBD-II codes to read, so jot them all down.

How Do I Interpret an OBD-II Code?

OBD codes are all five letters and digits. This is all you need to get a good understanding of the underlying issue with the vehicle and take the next steps.

You can split the OBD-II code into four sections. The first section is the first character, which is always a letter. This is followed by a number from 0 to 3. The third section is the third number, which is always a number from 0 to 9. Finally, we consider the last two numbers together, from 00 to 99.

Check Engine Light Image

The First Character Determines the Overall Type of Issue

There are four possible letters for the first letter of the OBD-II code:

  • P — This indicated a problem in the powertrain system
  • B — This indicates a problem in the body system (e.g. airbags)
  • C — This indicates a problem with the chassis (e.g. anti-lock brakes)
  • U — This indicates a problem with the network comms system

OBD-II codes other than those regarding the powertrain are rare and require specific tools from the manufacturer to diagnose properly.

The Second Character Determines Whether the Issue Is Manufacturer Specific

The Society of Automotive Engineers (SAE) chose a number of generic codes for the EOBD/OBD-II standard that are the same for all manufacturers, makes, and models. These are part of a generic list that all manufacturers use. We call these generic codes.

Some manufacturers have added their own error codes so that they can be more specific about the issue at hand. For example, if a new model comes out with an engine part that is not accurately reflected in the generic code list. We call these manufacturer-specific.

The second character of the OBD-II code (and sometimes the third) lets us know whether to check the generic list of codes or consult a manufacturer-specific list.

How the second character of the OBD-II code is to be interpreted depends on the overall type of issue ascertained from the first character above:

  • P0 — Generic
  • P1 — Manufacturer-specific
  • P2 — Generic
  • P30 to P33 — Manufacturer-specific
  • P34 to P39 — Generic
  • B0 — Generic
  • B1 — Manufacturer-specific
  • B2 — Manufacturer-specific
  • B3 — Generic
  • C0 — Generic
  • C1 — Manufacturer-specific
  • C2 — Manufacturer-specific
  • C3 — Generic
  • U0 — Generic
  • U1 — Manufacturer-specific
  • U2 — Manufacturer-specific
  • U3 — Generic

The most common codes begin with P0 (a generic powertrain issue) and P1 (a manufacturer-specific powertrain issue)

The Third Character Determines a More Specific Part

The third character can help you narrow in on where the problem lies. It is a number from one-nine. In the case of powertrain issues:

  • 1 — Problem with the fuel or air metering systems (e.g. the mass airflow sensor)
  • 2 —Problem with the fuel or air metering injection systems (e.g. the fuel injector)
  • 3 — Problem with the ignition system (e.g. engine misfire)
  • 4 —Problem with the emissions systems (e.g. the catalytic converter)
  • 5 —Problem with the speed control and idle control systems
  • 6 —Problem with the internal computer circuits and electronics
  • 7 — Problem with the transmission
  • 8 — Problem with the transmission
  • 9 — Problem with the transmission

The Final Characters Determine the Specific Fault

The last two characters determine exactly the error fault. At this point, you can check an online source such as OBD-Code to get a full understanding of the exact fault the OBD is warning you about.

Further Troubleshooting

Often you’ll get a string of OBD-II codes in a row that indicate a range of problems. This is not something to particularly worry about; focus on the first codes as they point to the real problem. The additional codes may just be symptoms of the original problem, so once you’ve fixed it, they’ll go away.

OBD-II codes are a diagnostic tool but the system is not particularly smart. The OBD can tell you about the sensors that are complaining or where it thinks there is an issue, but it is up to you to determine the true cause of the symptoms and solve the problem. Often, the underlying issue can be as simple as moisture on a sensor, a loose fuel cap, or a poor electrical connection. These relatively simple problems can still trip the Check Engine light and