Last Updated on April 17, 2025
If you own a car, knowing how to read car diagnostic codes can save you time, money, and unnecessary trips to the mechanic. These codes help you understand what’s wrong with your vehicle before attempting a repair or seeking professional help.
What Are Diagnostic Trouble Codes (DTCs)?
Diagnostic Trouble Codes (DTCs)—also called fault or error codes—are stored by your car’s onboard diagnostic (OBD) system when it detects an issue. These codes are generated when a sensor reports data outside the expected range. While DTCs don’t tell you the exact faulty part, they do guide technicians (or DIYers) to the general problem area.
How to Check and Use DTCs Effectively
When checking DTCs, don’t rely on the code alone. Always refer to the vehicle’s service manual and other technical resources. This helps you avoid unnecessary repairs and potential safety risks. To read the codes, use a reliable OBD2 code reader—either handheld or app-based—compatible with your car.
Complete Car Diagnostic Codes List (OBD-II Overview)
DTCs are categorized into families and typically follow a structure like P0301, where each character has meaning:
- P = Powertrain
- B = Body
- C = Chassis
- U = Network (communication-related)
The second character in the code is usually:
- 0 = Generic (universal across all manufacturers)
- 1 = Manufacturer-specific
The final three digits pinpoint the specific issue. Here’s a general breakdown of what each number range represents:
Code Range | System Function |
---|---|
0, 1, 2 | Air/fuel mixture issues |
3 | Ignition system problems |
4 | Emission control faults |
5 | Engine idle control |
6 | ECU and onboard computer faults |
7, 8, 9 | Transmission issues |
A, B, C | Hybrid propulsion system |
Generic vs Manufacturer-Specific Codes
Understanding the difference between generic and manufacturer-specific codes is crucial:
- Generic codes (P0xxx) follow the standardized OBD-II protocol and apply to all car brands.
- Manufacturer-specific codes (P1xxx) are defined by each automaker to cover issues not included in the generic code set.
Additional code groups exist to expand diagnostic capabilities:
- P0xxx, P2xxx, P34xx–P39xx = Generic codes
- P1xxx, P30xx–P33xx = Manufacturer-specific codes
Mastering how to read and interpret car diagnostic trouble codes is essential for effective car maintenance. Whether you’re a DIY car owner or an aspiring mechanic, knowing the difference between generic and manufacturer-specific DTCs—and how to read them—can save you time, money, and headaches on the road.
Here is the powertrain codes list with its full meaning:
P0000 -No DTCs Detected!
P0001 -Problem with the fuel volume regulator control circuit
P0002 -Fuel Volume Regulator Control Circuit Malfunction
P0003 -Low Voltage at Fuel Volume Regulator Control Circuit
P0004 -High Voltage at Fuel Volume Regulator Control Circuit
P0007 -High Voltage at Fuel Shutoff Valve “A” Control Circuit
P0008 -Mechanical timing of the engine malfunction
P0009 -Engine Position System Performance Down
P0010 -Problem With the “A” Camshaft Position Actuator Circuit
P0011 -“A” Camshaft Position – Timing Over-Advanced
P0012 -Bank 1 Intake Camshaft Position Timing- Over-Retarded
P0013 -Exhaust camshaft actuator circuit valve is open/short circuit
P0014 -Exhaust Camshaft Timing Malfunction (Over-Advanced Bank 1)
P0015 -“B” Camshaft Position – Timing Over-Retarded
P0016 -The crankshaft Position and Camshaft Position doesn’t match (Bank 1, Sensor A)
P0017 -Camshaft Position Correlation (Bank 1, Sensor B)
P0018 -The crankshaft Position doesn’t correlate with the Camshaft Position
P0019 -Crankshaft Position – Camshaft Position Correlation Bank 2 Sensor ‘B
P0020 -Intake “A” Camshaft Position Actuator Circuit Malfunction
P0021 -The intake camshaft (Bank 2) position is more advanced
P0022 -Camshaft variable timing solenoid (Bank 2) Issue
P0023 -“B” Camshaft Position Circuit Issue
P0024 -Bank 2 exhaust camshaft is not correct
P0025 -“B” Camshaft position not correct
P0026 -Intake Valve Control Solenoid Circuit Range/Performance (Bank 1)
P0028 -Intake valve control solenoid malfunction
P0030 -HO2S heater control circuit malfunction
P0031 -Low Voltage at HO2S Heater Control Circuit (Bank 1 Sensor 1)
P0035 -High signal at Turbocharger or Supercharger Bypass Valve “A” Control Circuit
P0036 -HO2S control circuit (bank 1, sensor 2) Malfunction
P0037 -Low H02S2 Heater Control Circuit (Bank 1, Sensor 2)
P0042 -Problem with the HO2S Heater Control Circuit (Bank 1 Sensor 3)
P0043 -Low voltage in HO2S Heater Control Circuit (Bank 1 Sensor 3)
P0045 -Turbo/Supercharger Boost Control Solenoid Circuit/Open
P0046 -Issue With the boost control solenoid
P0051 -Low voltage at HO2S Heater Control Circuit (Bank 2 Sensor 1)
P0052 -High Voltage at HO2S Heater Circuit (Bank 2, Sensor 1)
P0053 -HO2S Resistance (Bank 1, Sensor 1)
P0054 -Heated Oxygen Sensor (HO2S)Malfunction
P0087 -Low Pressure at Fuel Rail/System
P0088 -High Pressure at Fuel Rail/System
P0089 -Problem With Fuel Pressure Regulator 1
P0090 -Fuel Pressure Regulator 1 Control Circuit Malfunction
P0091 -Low Voltage at Fuel Pressure Regulator 1 Control Circuit
P0092 -High Voltage at Fuel Pressure Regulator 1 Control Circuit
P0093 -Large Leakage in the Fuel System
P0094 -Small Leakage in the Fuel System
P0095 -Intake Air Temperature Sensor 2 Circuit Malfunction
P0096 -Intake Air Temperature Sensor 2 Circuit Range/Performance Not Matched
P0097 -No Voltage at Intake Air Temperature Sensor 2 Circuit
P0098 -High Voltage at Intake Air Temperature Sensor 2 Circuit (Bank 1)
P0099 -Intake Air Temperature Sensor 2 Circuit Malfunction
P0100 -Faulty MAF Sensor or Circuit
P0101 -Incorrect MAF Circuit Range
P0102 -Low Input at MAF Circuit
P0103 -High Voltage Output at Mass Air Flow Circuit
P0104 -Mass or Volume Air Flow ” A” Circuit Malfunction
P0105 -Barometric Pressure/Manifold Absolute Pressure Circuit Malfunction
P0106 -MAP/Barometric Pressure Circuit Range Mismatch
P0107 -Low Voltage Output at MAP/Barometric Pressure Circuit
P0108 -High Voltage Output at Manifold Absolute Pressure/Barometric Pressure Circuit
P0109 -MAP/BARO Circuit Intermittent
P0110 -Problem in Intake Air Temperature Sensor 1 Circuit Bank 1
P0111 -Intake Air Temperature Sensor 1 Circuit Range/Performance
P0112 -Low Voltage Output at Intake Air Temperature Sensor 1 Circuit
P0113 -High Voltage Output at Intake Air Temperature Sensor 1 Circuit
P0114 -IAT Sensor 1 Bank 1 Circuit Intermittent
P0115 -Engine Coolant Temperature Circuit Malfunction
P0116 -Engine Coolant Temperature Circuit Range Incorrect
P0117 -Low Voltage Output at Engine Coolant Temperature Circuit
P0118 -High Voltage Output at Engine Coolant Temperature Circuit
P0119 -ECT Circuit Intermittent
P0120 -Issue With the Throttle/Pedal Position Sensor/Switch “A” Circuit
P0121 -Throttle/Pedal Position Sensor/Switch “A” Circuit Shows Incorrect Data
P0122 -Low Voltage Output at Throttle/Pedal Position Sensor/Switch “A” Circuit
P0123 -High Voltage Output at Throttle/Pedal Position Sensor/Switch “A” Circuit
P0124 -Throttle/Pedal Position Sensor/Switch “A” Circuit Malfunction
P0125 -Insufficient Coolant Temperature for Closed Loop Fuel Control
P0126 -Insufficient Coolant Temperature for Stable Operation
P0127 -IAT Too High
P0128 -Issue with the Coolant Thermostat
P0129 -Low Output at Barometric Pressure
P0130 -O2 Sensor Circuit Malfunction
P0131 -Low Voltage Output at O2 Sensor Circuit
P0132 -High Voltage Output at O2 Sensor Circuit
P0133 -O2 Sensor Circuit Slow Response
P0134 -O2 Sensor Circuit Totally Stops Working
P0135 -O2 Sensor Heater Circuit Malfunction
P0136 -Downstream O2 Sensor Circuit Malfunction (Bank 1)
P0137 -Low Voltage Output at O2 Sensor Circuit Bank 1 Sensor 2
P0138 -High Voltage Voltage O2 Sensor Circuit
P0139 -O2 Sensor Circuit Bank 1 Sensor 2 Slow Response
P0140 -No Activity Detected at O2 Sensor Circuit Bank 1 Sensor 2
P0141 -Faulty O2 Sensor Heater Circuit (Bank 1, Sensor 2)
P0142 -O2 Sensor Circuit Malfunction (Bank 1, Sensor 3)
P0143 -Low Voltage Output at O2 Sensor Circuit (Bank 1, Sensor 3)
P0144 -High Voltage Output at O2 Sensor Circuit (Bank 1, Sensor 3)
P0145 -O2 Sensor Circuit (Bank 1, Sensor 3) Voltage Drops
P0146 -O2 Sensor Circuit (Bank 1, Sensor 3) Not Responding
P0147 -Faulty O2 Sensor Heater Circuit (Bank 1, Sensor 3)
P0148 -Fuel Delivery Error
P0149 -Fuel Timing Error (Fuel Pressure Malfunction)
P0150 -Faulty O2 Sensor Circuit (Bank 2, Sensor 1)
P0151 -Low Voltage Output at O2 Sensor Circuit (Bank 2, Sensor 1)
P0152 -High Voltage Output at O2 Sensor Circuit (Bank 2, Sensor 1)
P0153 -O2 Sensor Circuit (Bank 2, Sensor 1) Slow Response
P0154 -O2 Sensor Circuit (Bank 2, Sensor 1) Not Responding
P0155 -O2 Sensor Heater Circuit (Bank 2, Sensor 1) Malfunction
P0156 -Faulty O2 Sensor Circuit (Bank 2 Sensor 2)
P0157 -Low Voltage Output at O2 Sensor Circuit (Bank 2 Sensor 2)
P0158 -High Voltage Output O2 Sensor Circuit (Bank 2 Sensor 2)
P0159 -O2 Sensor Circuit (Bank 2 Sensor 2) Slow Response
P0160 -O2 Sensor Circuit (Bank 2 Sensor 2) Not Responding
P0161 -O2 Sensor Heater Circuit (Bank 2 Sensor 2) Malfunction
P0162 -Faulty O2 Sensor Circuit (Bank 2 Sensor 3)
P0163 -Low Voltage Output at O2 Sensor Circuit (Bank 2 Sensor 3)
P0164 -High Voltage Output at O2 Sensor Circuit (Bank 2 Sensor 3)
P0165 -O2 Sensor Circuit (Bank 2 Sensor 3) Slow Response
P0166 -O2 Sensor Circuit (Bank 2 Sensor 3) Not Responding
P0167 -Problem with the O2 Sensor Heater Circuit (Bank 2 Sensor 3)
P0168 -High Fuel Temperature
P0169 -Too Much Fuel Composition
P0170 -Fuel Trim Crossed Its Limit (Bank 1)
P0171 -Fuel System Too Lean
P0172 -Fuel System Too Rich
P0173 -Air-Fuel Ratio is Too Low or High
P0174 -Fuel System Too Lean (Bank 2)
P0175 -Fuel System Too Rich (Bank 2)
P0176 -Fuel Composition Sensor Circuit Malfunction
P0177 -Fuel Composition Sensor Circuit Range Mismatch
P0178 -Low Output at Fuel Composition Sensor Circuit
P0179 -High Output at Fuel Composition Sensor Circuit
P0180 -Issue with the Fuel Temperature Sensor A Circuit
P0341 -Camshaft Position Sensor “A” Circuit Malfunction
P0504 -Brake Switch “A”/”B” Correlation
P000A -Slow Response at Intake ” A” Camshaft Position (Bank 1)
P000B -Faulty position and timing of the camshaft
Chassis codes
C0xxx – Generic
C1xxx – Manufacturer-specific
C2xxx – Manufacturer-specific
C3xxx – Generic
Here is the chassis codes list with its full meaning:
C0035 – Left Front Wheel Speed Sensor Malfunction
C0040 – Right Front Wheel Speed Sensor Malfunction
C0045 – Faulty Left Rear Wheel Speed Circuit
C0050 – Right Rear Wheel Speed Sensor Malfunction
C0161 – Faulty ABS Brake Circuit
C0226 – Left Front Speed Sensor Malfunction
C0237 – Rear Speed Sensor Malfunction
C0245 – Faulty Electronic Brake Control Module (EBCM)
C0265 – Bad connection at the EBCM ground
C0267 – An open or shorted pump motor
C0281 – Brake Switch Circuit malfunction
C0300 – Rear Propshaft Speed Sensor Malfunction
C0327 – Transfer Case Encoder Malfunction
C0550 – ABS/traction control module malfunction
C0710 – Faulty Steering Wheel Angle Sensor
C0800 – Control module power circuit -Low input
C1214 – Right front abs inlet coil valve failure
C1222 – Wheel speed mismatch after driving
C1223 – Faulty brake lamp
C1225 – Wheel speed sensor malfunctioning
C1226 – Lamp Brake Warning Output Circuit Short To Ground
C1232 – Faulty Left Front Wheel Speed Sensor Assembly
C1233 – Right Front Wheel Speed Circuit Open Or Shorted
C1234 – Faulty Right Front Wheel Speed Sensor
Body codes
B0xxx – Generic
B1xxx – Manufacturer-specific
B2xxx – Manufacturer-specific
B3xxx – Generic
B0001 -Drivers frontal stage 1 deployment control malfunction
B0002 -Drivers frontal stage 2 deployment control malfunction
B0003 -Problem With Driver Frontal Stage 3 Deployment Control
B0004 -Driver Knee Bolster Deployment Control Malfunction
B0005 -Steering column sensor Malfunction
B0010 -Issue in the Passenger Frontal Stage 1 Deployment Control
B0011 -Passenger Frontal stage 2 Deployment Control Malfunction
B0012 -Passenger Frontal stage 3 Deployment Control Malfunction
B0013 -Steering Wheel Inflator Module Malfunction
B0020 -Faulty Left Side Airbag Deployment Control
B0021 -Passenger Seat Side Air Bag Not Working Properly
B0022 -Low Resistance- Passenger Seat Belt Retractor Pretensioner Deployment Loop
B0028 -Faulty Right Side Airbag Deployment Control
B0029 -Right Front/Passenger Side Air Bag Module Malfunction
B0030 -Issue With the Second Row Left Side Airbag
Network communication codes
U0xxx – Generic
U1xxx – Manufacturer-specific
U2xxx – Manufacturer-specific
U3xxx – Generic
Let’s decode the codes with details.
U0001 -High-Speed CAN communication bus
U0002 -Faulty Control Module (Area Network (CAN)
U0073 -Control Module Communication Bus “A” Off
U0100 -Lost Communication with ECM/PCM ‘A
U0101 -Lost Communication with TCM
U0107 -Lost Communication with Throttle Actuator (TAC) Module
U0109 -Fuel Pump Control Module harness is open or shorted
U010C -Lost Communication With Turbocharger/Supercharger Control Module
U0121 -Lost Communication With ABS Module
U0126 -Lost Communication with Steering Angle Sensor (SAS) Module
U0140 -Lost Communication With Body Control Module
U0141 -Lost Communication With Body Control Module “A”
U0151 -Faulty Restraints Control Module (RCM)
U0155 -Open circuit in the CAN bus positive circuit
U0164 -Issue with Heating, Ventilation, and Air Conditioning (HVAC) Control Module
U0184 -Lost Communication with Radio
U0300 -Internal Control Module Software Incompatibility
U0401 -Invalid Data Received from ECM/PCM
U0402 -Transmission Control Module Shows Invalid Data
U0415 -Invalid Data Received From ABS
U0422 -Fault in the Body Control Module (BCM)
U0428 -Invalid Data Received From Steering Angle Sensor Module
U3000 -General Memory Failure in Control Module
U3003 -Over amperage condition for the battery state
These are some of the normal car diagnostic codes that you are likely to find on most vehicles. There are more than 5,000 codes that are commonly used. OBD codes were standardized using SAE J2012 and ISO 15031-6 standards. All you have to do is to search for software and download all the 5000 plus codes.
Kevin Nicholas is an automotive technician who is a genius at software and hardware-related issues. He manually tested more than a hundred OBD scanners and gave his honest opinion on whether the device was worth the money or not. His in-depth OBD review articles help people choose the right product, whether it is a European, American, or Asian vehicle. He completed his Automotive Specialized Training Course at Universal Technical Institute and has more than 15 years of experience in the field.