Guide to Reading OBD2 Codes and What They Mean

Whenever you take your car to an auto shop for a check-up or repair, you’ll otice that mechanics usually plug in a gadget to your car’s OBD port to scan your car’s computer. That gadget is called an OBD2 scanner, which collects and reads the fault codes stored in your car’s computer.

That tool is what helps mechanics identify what and where the problem is, so they know where to check inside your car. An OBD scan is what confirms the existence of an automotive issue.

Now, the real issue is whether you should always trust their interpretation of those codes. Many repair shops, especially those that also sell parts, may sometimes mislead car owners into buying new components to make a profit.

To protect yourself and your car from such schemes, you need to learn how to read OBD2 codes. This way, you have an idea of what the real problem is.

In this guide, you will learn what OBD2 codes are and how to read them.

A list of the standard generic code categories will also be interpreted.


In learning about OBD2 codes, you’ll come across several acronyms that may be used interchangeably or in different ways.

The most important are the OBD, DTC, OBD2, and SAE.

OBD directly refers to your car’s On-Board Diagnostics (OBD) system that stores fault data in the form of Diagnostic Trouble Codes (DTC). These codes are then formatted into a coding form called OBD2, or OBD-II codes that are read through OBD scan tools.

DTC and OBD2 virtually mean the same—fault codes—so they can be freely interchanged.

SAE (Society of Automotive Engineers) codes, on the other hand, refer to generic codes within the DTC or OBD2 format. SAE is referred to as “generic” and is represented as “0” in the second digit of OBD2 codes.


The OBD2 standard coding format is comprised of five (5) digits.

Generic P Code

1. The first digit is a letter corresponding to the category or system in the car that has an issue.

There are four different systems:

  • B codes (Bxxxx) – refers to the “Body” system. B codes indicate issues that occur within the passenger compartment.
  • C codes (Cxxxx) – refers to the “Chassis” system. C codes indicate issues that occur outside the passenger compartment.
  • P codes (Pxxxx) – refers to the “Powertrain” system. P codes directly indicate issues occurring in the car’s engine compartment.
  • U codes (Uxxxx) – refers to “User network” system. U codes indicate issues regarding shared computer connectivity within the car.

2. The second digit is either 0 or 1

This is the standard, but 2 or 3 may also appear.

  • 0 – SAE or generic codes. This indicates issues that are common across all car models that use the OBD2 standard coding. For example, in a P0xxx DTC, it indicates that there is a generic issue occurring in the Powertrain system.
  • 1 – Manufacturer specific codes. This indicates issues that are specific to the car’s model or make. In a B1xxx DTC, it indicates that a manufacturer specific issue is occurring in the Body system.
  • 2 and 3 – Variable codes. These codes may refer to either generic or manufacturer specific codes, depending on the affected system.

In B codes, generic issues are indicated as B0xxx and B3xxx. Manufacturer specific issues are indicated as B1xxx and B2xxx.

In C codes, generic issues are indicated as C0xxx and C3xxx. Manufacturer specific issues are indicated as C1xxx and C2xxx.

In P codes, generic issues are indicated as P0xxx, P2xxx and P34xx – P39xx. Manufacturer specific issues are indicated as P1xxx and P30xx – P33xx.

In U codes, generic issues are indicated as U0xxx and U3xxx. Manufacturer specific issues are indicated as U1xxx and U2xxx.

3. The third digit indicates which function system is experiencing the issue.

It is usually represented in numbers (from1 to 9). In hybrids, it may be represented in letters (A to C).

  • 1 – Fuel and air metering
  • 2 – Fuel and air metering in the injector circuit
  • 3 – Ignition system and/or misfire
  • 4 – Auxiliary emission control
  • 5 – Speed control and idle control systems
  • 6 – Computer output circuit
  • 7, 8 and 9 – Transmission-related
  • A, B and C – Hybrid propulsion

4. The fourth and fifth digits refer to the exact problem in the specified systems.

It is represented in numbers (from 00 to 99). These specific fault codes are individually listed and can be downloaded from online sources.


P codes are the most common and broadly defined OBD2 codes. This is because most of the problems that need diagnosing are those that occur in the engine compartment.

P codes are also the most important to learn for any car owner.

Here’s a list of the generic P code categories and what they refer to:

  • P0100 to P0199 – These are DTCs that refer to issues in the fuel and air metering system such as the mass airflow (MAF) sensor.

    Example: P0171 (System Too Lean - Bank 1) means that the air entering your engine is too much compared to the fuel entering it.
  • P0200 to P0299 – These are DTCs referring to issues in the Injector circuit’s fuel and air metering system.
  • P0300 to P0399 – DTCs referring to misfires or problems with the ignition system.

    Example: P0301 (Cylinder 1 Misfire Detected) means that something is causing a problem in the fuel injector or spark plug in one or more cylinders.
  • P0400 to P0499 – DTCs that refer to problems with the auxiliary emission controls.

    Example: P0442 (Evaporative Emission Control System Leak Detected) means that there is a small to medium leak detected in the evap system.
  • P0500 to P0599 – These are DTCs referring to issues involving the speed control and idle control systems like the idle air control valve.
  • P0600 to P0699 – DTCs indicating faults in the computer output system.
  • P0700 to P0999 – These are DTCs related to Transmission issues in the gearbox.

This is just a collective list of the generic P Codes. To know which exact part of the affected systems is causing the problem, you need to refer to the fault codes indicated in the OBD2 code’s fourth and fifth digits.

For manufacturer specific codes, the information must be obtained from your car’s manufacturer.


Being able to read OBD2 codes provides certain advantages:

You get an idea about the need for repair or replacement.

If your car transmits an OBD2 code, it doesn’t necessarily mean that the faulty part involved needs replacing.

When you read the code and know exactly which part is affected, you can inspect that part to further diagnose the problem or have someone you trust to inspect it for you.

Reading OBD2 code to Protect Car

You get to know your car better.

Learning to read OBD2 codes will allow you to better understand your car’s capacity and current condition.

By noting the frequency and pattern of a certain issue’s occurrence, you’ll be able to determine which likely causes that problem, and prevent it in the future.


Starting with the Complete Guide, you are able to read OBD2 codes.

Getting an OBD2 scanner will help you diagnose and monitor the car's health. You can see a huge variety of OBD 2 scanner products in this review.

Also read this useful article to better understand the different types of OBD2 scanners, and how to to use it.


Learning to read your car’s OBD2 codes is like learning to read an X-ray or CT-Scan. It gives you the ability to identify problems in your car so you can determine whether you need to repair or replace faulty parts.

Once you learn this, you can save a lot of money, time and energy on your car’s maintenance and repair.

Last Updated on: 09/14/2020

About the Author Simon Adams

Simon graduated with a Mechanical and Electrical Engineering Degree. He has over 20 years of servicing experience in both Japanese and German car dealerships. He now acts as a freelance mechanic's instructor for local schools.

follow me on:

Leave a Comment:

Add Your Reply