OBD2 Codes List & Guide: Search Your Trouble Code
Almost everyone is familiar with the dreaded check engine light that occasionally pops up on the dashboard. When that light turns on, your car's engine computer also stores a corresponding diagnostic trouble code (DTC) in its memory.
There are thousands of codes, each of which has a unique definition. Codes that are defined by the Society of Automotive Engineers (SAE) are referred to as generic on-board diagnostic (OBD) 2 codes. There are also manufacturer-specific codes that are defined by the automaker.
Jump to OBD2 Code SearchWhat are OBD2 Codes?
All vehicles model year 1996 and newer support a selection of OBD2 codes. Diagnostic trouble codes (DTCs) may be defined by either the Society of Automotive Engineers (SAE) or the vehicle manufacturer.
Your car's on-board computer management system will store a DTC (or multiple DTCs) when it detects a problem with the vehicle. At the same time, the system usually turns on one or more dashboard warning lights.
OBD II Code Reader
C - Chassis
P - Powertrain
U - Network Communication
1 - Manufacturer Specific Code
2 - Fuel System
3 - Ignition System
4 - Exhaust Monitoring System
5 - Idle Speed Control or Cruise Control
6 - Input / Output Signal from ECU
7 and 8 - Transmission System
There are many different generic SAE-defined OBD2 codes. What's more, automakers also have manufacturer-specific codes that are defined in-house.
OBD2 codes contain a letter prefix and four numbers. A scan tool or code reader can be used to retrieve the codes, which, in turn, can be used to help troubleshoot the vehicle.
There are four categories of OBD2 codes, which are as follows:
- BXXXX Body codes (example: B0010 Passenger Frontal Stage 1 Deployment Control)
- CXXXX Chassis codes (example: C0034 Right Front Wheel Speed Sensor)
- PXXXX Powertrain codes (example: P0301 Cylinder 1 Misfire Detected)
- UXXXX Network codes (example: U0100 Lost Communication with ECM/PCM "A")
The first numeric digit specifies whether the code is generic (SAE) or manufacturer-specific, as is outlined below.
-
Body and Chassis codes
- First digit is a 0: generic (SAE)
- First digit is a 1: manufacturer-specific
- First digit is a 2: manufacturer-specific
-
Powertrain
- First digit is a 0: generic (SAE)
- First digit is a 1: manufacturer-specific
- First digit is a 2: generic (SAE)
- First digit is a 3: P3000-P3399 manufacturer-specific; P3400-3999 generic (SAE)
-
Network codes
- First digit is a 0: generic (SAE)
- First digit is a 1: manufacturer-specific
- First digit is a 2: manufacturer-specific
- First digit is a 3: generic (SAE)
As for the other three numeric digits of the code, the second number indicates the specific vehicle system to which the code applies. The last two digits of the code indicate the specific fault designation or general malfunction.
The History of OBD codes
Most automakers began fitting their cars with computer-controlled engine management systems in the 1980s. The technology uses sensors and an on-board engine management computer to minimize vehicle emissions and improve driveability. The technology eventually grew into what is now referred to as OBD2.
In 1988, the California Air Resource Board (CARB) began requiring all new vehicles sold in its state to be fitted with the first stage of OBD technology, referred to as OBD1. The agency's goal was for automotive computer management systems to continuously monitor engine-related components that could affect vehicle emissions.
CARB required that all OBD1 systems monitor emissions-related electrical components for circuit problems. If a problem were detected, the engine computer would turn on the check engine light and store a diagnostic trouble code (DTC) in its memory.
The second phase of OBD technology, OBD2, was introduced in 1996 and is still in use today. OBD2 builds on OBD1 by monitoring system functionality and being far more comprehensive overall.
OBD2 also ushered in a list of standardized DTCs that can be read with a generic scan tool or code reader. What's more, the diagnostic port for the tool to plug into was also standardized across all makes and models.
Today, OBD2 codes cover not only emissions-related powertrain and network systems, but also the chassis and body electronics.
-
Other Noteworthy Information Regarding OBD2 codes
It’s important to point out that an individual vehicle will only support a portion of the available generic OBD2 codes. Exactly which codes are supported will depend on the year, make, and model of the vehicle. Sometimes the engine size and other factors also make a difference.
Another thing to keep in mind is that automakers will often have a slightly different definition for an OBD2 code than the meaning supplied by SAE. For example, SAE defines code P0740 as "Torque Converter Clutch Circuit Malfunction", whereas Chrysler refers to the code as "Torque Converter Out of Range".
Because the vehicle manufacturer's definition of a code may differ from that of SAE, it's a good idea to consult a repair manual or repair database for the code definition for your application.
Also, remember that DTCs do not tell you exactly what's wrong with a vehicle. Codes merely give you an idea of where to begin your diagnostic process.
For example, if you get a code for an oxygen sensor, that doesn't necessarily mean the sensor is faulty. All the code tells you is that the engine computer perceives an issue with the sensor's performance. The root cause of the concern could be anything from a wiring problem to an unbalanced engine air-fuel mixture.
-
What is an OBD Scanner or Code Reader?
Today's vehicles have multiple computers (referred to as modules) that communicate with one another over a data network. Each module monitors a certain vehicle sub-system (i.e., powertrain, anti-lock brakes, etc.). When the module detects a problem within the sub-system, it stores a DTC in its memory and turns on a dashboard warning light.
DTCs can be retrieved from a module's memory using a scan tool or code reader. The tool must be plugged into the car's diagnostic port (located below the dashboard) to communicate with a module.
The difference between a scan tool and a code reader is that a scan tool can retrieve both codes and live data from a module, whereas a car code reader only pulls codes.
It's also worth noting that most inexpensive diagnostic tools can only retrieve generic (SAE) information from the engine and transmission control modules. Meanwhile, high-end aftermarket scan tools can usually access both generic and manufacturer-specific information from all (or nearly all) of the car's modules.
There are also original equipment manufacturer (OEM) scan tools that are designed for dealership technicians. OEM scan tools provide detailed data and functional tests, but only work on one brand of vehicle (e.g., Toyota).
-
How to Read OBD2 Codes
You might be wondering: How do I read OBD2 codes? Here's how it's done:
- Locate your car's diagnostic port. On vehicles built after 1996, the location is almost always under the dashboard.
- Plug your diagnostic tool (scanner or OBD2 code reader) into the diagnostic port.
- Turn your car's ignition key to the "ON" position.
- Turn on your diagnostic tool.
- Follow the tool's on-screen prompts to retrieve any DTCs. If this is your first time using the tool, you may need to consult the product manual for instructions regarding code retrieval.
-
How to Clear Trouble Codes
If your vehicle has a problem that caused codes to set, you'll want to clear those codes after performing the necessary repairs. Codes can take a long time to clear on their own, potentially resulting in the check engine light (or other warnings) staying on even after you've fixed the underlying problem.
Fortunately, clearing DTCs is pretty simple. Here's how it's done:
- Locate your car's diagnostic port. On vehicles built after 1996, the location is almost always under the dashboard.
- Plug your diagnostic tool (scanner or OBD2 code reader) into the diagnostic port.
- Turn your car's ignition key to the "ON" position.
- Turn on your diagnostic tool.
- Follow the tool's on-screen prompts to clear any DTCs. If this is your first time using the tool, you may need to consult the product manual for instructions on how to clear codes.
Search OBD2 Trouble Codes Database
If you want to learn more about a specific OBD2 code, check out the CarParts.com trouble code database. Type your code into the search box and click on the article link to retrieve information.
Note: Certain codes may not be listed in the database.
List of Common OBD2 Codes
There are thousands of OBD2 codes. Here are some of the most common:
Note: The definition of the codes below may be different depending on the vehicle manufacturer. Consult the appropriate repair manual or repair database for the exact code definition.
-
Code P0420 indicates that your car's engine computer has detected underperformance from the Bank 1 catalytic converter. A catalytic converter is an emissions control device that processes harmful exhaust gases.
-
Modern vehicles contain dozens of control modules communicating with one another over a data network. Code U0100 is set when there's a loss of communication between the engine computer (ECM or PCM) and another module.
-
A misfire results from incomplete combustion inside one of the engine's cylinders. Code P0300 indicates that your car's computer has detected an engine misfire that's random and/or appearing on multiple cylinders. You'll likely find another OBD2 code—from P0301 to P0308—alongside P0300 as these all point to engine misfires.
-
Your car has one or more camshaft position sensors that calculate the speed and position of the camshaft(s) inside of the engine. The engine computer uses the data from the sensors when calculating output functions, such as fuel injection operation and ignition timing. Code P0340 indicates the PCM has detected a problem with a camshaft position sensor or its circuit.
-
All modern cars have an evaporative emission control (EVAP) system that prevents fuel vapors from escaping into the atmosphere. Code P0446 indicates that your car's computer has detected a problem with the function of the EVAP system vent valve.
-
Code P0430 indicates that your car's engine computer has detected underperformance from the Bank 2 catalytic converter. A catalytic converter is an emissions control device that processes harmful exhaust gases.
-
Many modern vehicles have variable valve timing—a technology that alters the position angle of the camshaft(s) in relation to the crankshaft. Code P0011 indicates that the engine computer cannot correct a detected difference in the desired camshaft position and the actual camshaft position.
-
The engine computer keeps track of the air-fuel mixture through oxygen sensors in the exhaust system that measure the amount of oxygen burned by the engine. There is an oxygen sensor positioned before and after the catalytic converter. If both sensors show similar data indicating a lean condition, code P2096 may be set.
-
An engine needs the correct ratio of air to fuel to run properly. The engine computer monitors the air-fuel mixture via the oxygen sensors in the exhaust. Code P0172 indicates the computer has detected that the engine's air-fuel mixture is too rich (i.e., has too much fuel).
-
U0073 is a communication system diagnostic code related to the car's data network. This code can register in a variety of modules, including the PCM, TCM, anti-lock braking system (ABS), or body control module (BCM).
-
Code P0017 indicates that the engine computer detects a misalignment between the crankshaft and camshaft positions. That is, the computer believes the position of the camshaft is not where it's supposed to be in relation to the crankshaft.
-
Many modern vehicles have electronic throttle control (ECT). The technology relies on input from a pair of throttle position (TP) sensors and a pair of accelerator pedal position (APP) sensors. Code P2138 is triggered when the vehicle's engine computer detects that the signals from the two throttle position sensors (or two accelerator pedal position sensors) do not correlate.
-
A typical oxygen sensor has a heater circuit that works to bring the sensor up to operating temperature quickly. Code P0141 indicates a problem with the heater circuit of the bank 1 downstream O2 sensor.
-
A misfire results from incomplete combustion inside one of the engine's cylinders. Code P0302 indicates that your car's computer has detected an engine misfire that's occurring on cylinder two. You may find another OBD2 code—from P0301 to P0308—alongside P0302 as these all point to engine misfires.
-
The intake air temperature sensor measures the temperature of the air entering the engine. Guided by this data, the computer adjusts the fuel injectors and other select components related to engine operation. Code P0113 indicates the engine computer has determined that there's a problem with the IAT sensor or its circuit.
Example Lists of Related OBD2 Codes
Many OBD2 engine codes are closely related. Here are some examples:
Codes P0300-P0312 are all related to engine misfires.
-
- P0307 Cylinder 7 Misfire Detected
- P0308 Cylinder 8 Misfire Detected
- P0309 Cylinder 9 Misfire Detected
- P0310 Cylinder 10 Misfire Detected
- P0311 Cylinder 11 Misfire Detected
- P0312 Cylinder 12 Misfire Detected
Codes P0335-P0339 are all related to the crankshaft position sensor.
-
- Crankshaft Position Sensor A Circuit Malfunction
- Crankshaft Position Sensor A Circuit Range/Performance
- Crankshaft Position Sensor A Circuit Low Input
- Crankshaft Position Sensor A Circuit High Input
- Crankshaft Position Sensor A Circuit Intermittent
Codes P0400-P0408 are all related to exhaust gas recirculation (EGR) flow.
-
- P0405 Exhaust Gas Recirculation Sensor A Cirtcuit Low
- P0406 Exhaust Gas Recirculation Sensor A Circuit High
- P0407 Exhaust Gas Recirculation Sensor A Circuit High
- P0408 Exhaust Gas Recirculation Sensor B Circuit High
Codes P0420-P0434 are all related to the catalytic converter.
-
- P0420 Catalyst System Efficiency Below Threshold (Bank 1)
- P0421 Warm Up Catalyst Efficiency Below Threshold (Bank 1)
- P0422 Main Catalyst Efficiency Below Threshold (Bank 1)
- P0423 Heated Catalyst Efficiency Below Threshold (Bank 1)
- P0424 Heated Catalyst Temperature Below Threshold (Bank 1)
-
- P0430 Catalyst System Efficiency Below Threshold (Bank 2)
- P0431 Warm Up Catalyst Efficiency Below Threshold (Bank 2)
- P0432 Main Catalyst Efficiency Below Threshold (Bank 2)
- P0433 Heated Catalyst Efficiency Below Threshold (Bank 2)
- P0434 Heated Catalyst Temperature Below Threshold (Bank 2)
Codes P0460-P0464 are all related to the fuel level sensor.
-
- P0460 Fuel Level Sensor Circuit Malfunction
- P0461 Fuel Level Sensor Circuit Range/Performance
- P0462 Fuel Level Sensor Circuit Low Input
- P0463 Fuel Level Sensor Circuit High Input
- P0464 Fuel Level Sensor Circuit Intermittent
Codes P0500-P0503 are all related to the vehicle speed sensor.
-
- P0500 Vehicle Speed Sensor Malfunction
- P0501 Vehicle Speed Sensor Range/Performance
- P0502 Vehicle Speed Sensor Low Input
- P0503 Vehicle Speed Sensor Intermittent/Erratic/High
About CarParts.com
For over 20 years, CarParts.com has been a leader in the e-commerce automotive aftermarket, providing collision, engine, and performance parts and accessories. With over 50 million parts delivered, we've helped everyday drivers across the contiguous United States find the right parts to keep their vehicles on the road.
With a focus on the end-to-end customer experience, we've designed our website and sourcing network to simplify the way drivers get the parts they need. Our vehicle selector and easy-to-navigate, mobile-friendly website offer customers guaranteed fitment and a convenient online shopping experience. And with our own wide distribution network, we bring the very best brands and manufacturers directly to consumer hands, cutting out all the brick-and-mortar supply chain costs to provide quality parts at a discount for our loyal customers. Combined with our 60-day return policy and satisfaction guarantee, CarParts.com makes it simple for customers to get parts delivered straight to their door. CarParts.com is headquartered in Torrance, California.