OBD2 Codes List: Complete Guide to Diagnostic Trouble Codes and Meanings

When your check engine light turns on, it can feel confusing and stressful. The good news is that modern vehicles store useful fault data inside the car computer. That data is shown as OBD2 codes, and they can help you understand what is wrong before you pay for repairs.

This OBD2 codes list guide will help you read the most common diagnostic trouble codes, understand what they mean, and make better repair decisions. You do not need to be a mechanic to use it. With a simple scanner and the right information, you can quickly narrow down the problem and avoid guesswork.

Not every code means a bad part. Many codes point to a system problem, wiring issue, vacuum leak, sensor signal problem, or even a loose gas cap. That is why learning the meaning behind the code matters. It helps you fix the real cause, not just the warning light.

How OBD2 trouble codes work

OBD2 stands for On-Board Diagnostics, version 2. It is a standard system used in most cars and light trucks. When the engine computer sees a problem, it stores a code. A scanner reads that code and shows it as a mix of letters and numbers, such as P0300 or U0100.

Each code gives you a clue. The first letter shows the system:

  • P = Powertrain, which includes engine and transmission
  • B = Body, such as airbags, climate controls, and seats
  • C = Chassis, such as ABS, suspension, and steering
  • U = Network, which covers communication between modules

The next number shows the type of code. A 0 usually means a generic code used by all car brands. A 1 often means a manufacturer-specific code. The last digits identify the exact fault area.

Here is the key point many beginners miss: a code is not always the failed part. For example, a misfire code may be caused by spark plugs, coils, fuel delivery, compression, or a vacuum leak. The code tells you where to look first, not what to replace immediately.

OBD2 code format explained simply

A code like P0171 can be broken down into parts:

  • P = powertrain system
  • 0 = generic code
  • 171 = lean fuel condition on bank 1

This format is very useful because it helps you understand the basic issue before you start testing. Some codes are simple and common. Others are deeper and need advanced diagnosis.

Another useful detail: many scanners show both stored codes and pending codes. A stored code has already passed the fault threshold. A pending code means the computer saw a possible problem, but it has not happened enough times yet. Pending codes are important because they often appear before the warning light becomes steady.

Most common OBD2 codes and what they mean

The table below covers many of the codes drivers see most often. These are not the only OBD2 codes, but they are among the most useful to know first.

CodeMeaningCommon cause
P0300Random or multiple cylinder misfireIgnition issue, fuel problem, vacuum leak
P0301Cylinder 1 misfireBad spark plug, coil, injector, compression problem
P0420Catalyst system efficiency below thresholdWeak catalytic converter, exhaust leak, sensor issue
P0171System too lean, bank 1Vacuum leak, weak fuel pump, dirty MAF sensor
P0174System too lean, bank 2Vacuum leak, fuel delivery issue, intake leak
P0455Large EVAP leak detectedLoose gas cap, cracked hose, purge valve problem
P0442Small EVAP leak detectedGas cap seal, small hose leak, purge or vent issue
P0128Coolant thermostat temperature below regulating temperatureStuck-open thermostat, coolant issue, sensor fault
P0133O2 sensor slow responseSensor aging, exhaust leak, fuel mixture issue
P0401Exhaust gas recirculation insufficient flowClogged EGR valve, carbon buildup, vacuum issue
P0456Very small EVAP leak detectedLoose cap, tiny hose crack, sealing problem
P0500Vehicle speed sensor faultBad sensor, wiring problem, ABS or transmission input issue
P0700Transmission control system faultTransmission module stored a related fault code
P0010Camshaft position actuator circuitOil flow issue, wiring fault, actuator problem
U0100Lost communication with ECM/PCMModule communication issue, wiring, battery problem

Powertrain codes every driver should know

Credit: slideshare.net

Misfire codes

Misfire codes are very common, and they should be handled quickly. A misfire means one cylinder is not burning fuel the way it should. That can hurt fuel economy, make the engine shake, and damage the catalytic converter if ignored.

P0300 means the misfire is random or spread across several cylinders. This often points to a bigger issue like vacuum leaks, low fuel pressure, or poor ignition performance.

P0301 through P0308 usually point to a specific cylinder. For example, P0304 means cylinder 4 misfire. A smart first test is to swap the ignition coil or spark plug with another cylinder and see if the code moves. If it does, you may have found the weak part.

Fuel and air mixture codes

Codes such as P0171 and P0174 show that the engine is running lean. This means too much air or not enough fuel. Common causes include vacuum leaks, dirty mass air flow sensors, clogged fuel filters, or weak fuel pumps.

Here is an important insight: lean codes often appear at idle or light throttle first. If the engine runs better at higher speed, that can help you separate a fuel delivery issue from an air leak issue. Fuel trims on a scan tool can give even more clues.

Emissions and EVAP codes

The EVAP system traps fuel vapors so they do not escape into the air. Codes like P0442, P0455, and P0456 are often related to leaks in this system. A loose gas cap is one of the most common causes, and it is also one of the easiest to check.

Many drivers think EVAP codes always mean a major repair. That is not true. A cracked hose, bad purge valve, or loose seal can set the code. These codes are often annoying, but they are usually not urgent unless you smell fuel or see other symptoms.

Catalyst and oxygen sensor codes

P0420 is one of the most searched OBD2 codes because it appears often. It points to low catalytic converter efficiency. However, the converter is not always the true problem. Exhaust leaks, engine misfires, or a lazy oxygen sensor can also trigger it.

Before replacing a catalytic converter, check for misfires and fuel mixture problems first. A bad engine condition can ruin a good converter. That is a costly mistake many owners make.

Body, chassis, and network codes

Most people think OBD2 only covers engine trouble. It does not. The system also includes body, chassis, and network codes. These are usually shown with B, C, or U at the start.

Body codes may affect airbag systems, power seats, or heating and cooling controls. Chassis codes can involve ABS brakes, traction control, or steering sensors. Network codes are different because they often point to communication problems between modules rather than one broken part.

A good example is U0100. It means the car lost communication with the engine control module. This can happen because of low battery voltage, poor grounds, damaged wiring, or a failed module. In many cases, the real problem is electrical, not mechanical.

These codes can look scary, but the first step is often very basic: check battery voltage, battery terminals, and grounds. Low voltage is a hidden cause behind many network faults.

How to read a scanner the right way

A scanner is useful, but the code alone never tells the full story. To diagnose correctly, read the code together with live data, freeze frame data, and symptoms.

Freeze frame data shows what the engine was doing when the code set. It may include engine speed, coolant temperature, fuel trims, and load. This is powerful because it tells you the conditions that triggered the fault.

For example, if a lean code appears only when the engine is cold, the cause may be different from a lean code that happens at highway speed. Many beginners skip this step and end up replacing parts at random.

If you want a reliable source for code definitions and emissions standards, the U.S. Environmental Protection Agency provides useful background on OBD systems.

Credit: slideshare.net

Common mistakes people make with OBD2 codes

Reading codes is simple. Diagnosing them well takes more care. These mistakes are very common:

  1. Replacing the first part mentioned by the code instead of testing the cause.
  2. Ignoring pending codes, which can be early warnings.
  3. Clearing the code too soon before checking freeze frame data.
  4. Overlooking simple problems like loose caps, cracked hoses, or weak batteries.
  5. Assuming the code means the same thing on every car without checking the vehicle make and model.

Another mistake beginners miss is trusting a code without checking related systems. For example, a misfire code and a fuel trim code together often tell a bigger story than either code alone.

Practical steps after you get a code

Once you have the code, do not rush to buy parts. Start with a simple plan:

  1. Write down the code and any symptoms.
  2. Check whether the code is stored, pending, or both.
  3. Look at freeze frame data if your scanner supports it.
  4. Inspect the basics first: gas cap, hoses, wires, connectors, battery terminals.
  5. Use live data to compare sensor readings.
  6. Search for known patterns for your exact vehicle.

If the issue is serious, such as flashing check engine light, strong knocking, overheating, or transmission slipping, stop driving and get help. A flashing light often means a severe misfire that can damage the catalytic converter fast.

Why code meaning changes with symptoms

The same code can mean different things depending on how the car behaves. This is why experienced technicians ask questions before replacing parts. Does the engine idle rough? Does it stall only when cold? Does the code come back after rain? Does the transmission shift badly?

For example, a P0128 code may seem like a simple thermostat issue. But if the heater is weak and fuel economy is low, that supports the diagnosis. If the engine also takes too long to warm up, the thermostat becomes a stronger suspect.

This symptom-based thinking is one of the best habits you can learn. It saves money and avoids unnecessary work.

Simple reference for fast code reading

If you want a quick way to understand an OBD2 code, use this mental rule:

  • Letter = which system has the problem
  • First number = generic or manufacturer-specific
  • Last numbers = the exact fault area

So if you see P0420, you know it is a powertrain code, usually generic, and it points to catalyst efficiency. That gives you a clean starting point for testing.

As a beginner, focus on the most common patterns first. Misfire, lean condition, EVAP leaks, and sensor response codes cover a large share of real-world check engine light issues.

Credit: slideshare.net

Final thoughts on using OBD2 codes wisely

An OBD2 codes list is most useful when it helps you think clearly, not when it pushes you to replace parts fast. The best approach is simple: read the code, understand the system, check the symptoms, and test the most likely causes first.

That way, you do not just turn off the warning light. You fix the reason it came on. And that is the real value of learning diagnostic trouble codes.

Frequently Asked Questions

1. What is the difference between a generic and manufacturer-specific OBD2 code?

Generic codes work across all OBD2 vehicles and usually start with P0. Manufacturer-specific codes are made by one brand and may need brand-based repair information to diagnose correctly.

2. Can I drive with an OBD2 code?

Sometimes yes, but it depends on the code and symptoms. A loose gas cap code is usually not urgent. A flashing check engine light, misfire, or overheating issue should be checked right away.

3. Will clearing the code fix the problem?

No. Clearing the code only turns off the light for a while. If the problem is still there, the code will usually return after the car runs its self-tests again.

4. Why does the same code come back after repair?

This usually means the root cause was not fixed. It can also happen if the wrong part was replaced, a connector was left loose, or another related problem was missed during diagnosis.

5. Do all cars use the same OBD2 codes?

Most basic powertrain codes are standard, but some codes are brand-specific. That is why you should always check the exact meaning for your vehicle make, model, and year before repairing it.

Robert Bradley

About the Author

I'm Robert Bradley, founder of AutoFixNotes and an ASE Master Certified technician with over 16 years of shop experience. I've diagnosed and repaired more than 5,000 vehicles — from check engine lights to full transmission failures — across independent shops, dealerships, and performance centers. I started this site because most car repair advice online either skips the important steps or assumes you already know what you're doing. Here, I explain the real cause, the real fix, and when to call a professional instead.

Connect: Email | About Me

Leave a Comment