OBD-II Trouble Code Lookup
Search any of the 2,188 OBD-II diagnostic trouble codes — P, B, C or U — to see what it means, how urgent it is, and the common causes. Standardized SAE J2012 data, cited to the open-source dataset.
Search a code →🔒 Universal SAE J2012 standard · Works on every 1996+ vehicle
An OBD-II code (DTC) is a five-character fault code your car stores when it detects a problem. The first letter is the system — P = powertrain, B = body, C = chassis, U = network — and the four digits identify the exact fault. Search any code below across our free database of 2,188 codes.
Type at least 2 characters. Press Enter on an exact code (like P0420) to jump straight to it.
Most-searched OBD-II codes
Browse by system
Powertrain codes
Engine, transmission & drivetrain — the most common codes (e.g. P0300).
Body codes
Interior systems: airbags, lighting, power accessories & climate.
Chassis codes
ABS, brakes, steering, suspension & traction control.
Network codes
Vehicle communication bus (CAN) & control-module networking.
How to read an OBD-II code
Plug an OBD-II scanner into the port beneath the dashboard (driver's side), turn the ignition to ON, and read the stored code. Every car sold in the U.S. since 1996 uses the same OBD-II standard, so the code format is identical across makes. Enter the code above to see its plain-English meaning, how serious it is, the common causes and how to fix it.
Want the bigger picture on a specific car? Decode its VIN for factory specs, or check for open recalls — some fault repairs are covered free under a recall.
How to read an OBD-II code, character by character
Every OBD-II code is exactly five characters: one letter and four digits (some newer codes use hex letters in the last three positions). Each position carries meaning:
- 1st, letter (system):
P= powertrain,B= body,C= chassis,U= network/communication. - 2nd, digit (type):
0= generic SAE code (same meaning on every OBD-II vehicle),1= manufacturer-specific (meaning defined by the carmaker),2/3= SAE reserved for future use. - 3rd, digit (subsystem): for P-codes,
1/2= fuel & air metering,3= ignition/misfire,4= auxiliary emissions,5= idle/speed control,6= computer outputs,7/8/9= transmission,A/B/C= hybrid propulsion. - 4th & 5th, digits: the specific fault number within that subsystem.
Example: P0300 = Powertrain (P), generic SAE (0), ignition/misfire (3), fault #00 = "random/multiple cylinder misfire detected." Compare that to P0301, which pins the misfire to cylinder 1.
P-code ranges at a glance
The powertrain (P) family is the largest and most common. Recognizing which range a code sits in narrows the problem instantly:
- P0100–P0199 — fuel & air metering (mass-airflow sensor, oxygen sensors, air-fuel ratio).
- P0200–P0299 — fuel injector circuit (individual injector faults).
- P0300–P0399 — engine misfires and ignition (spark plugs, coils, cylinder-specific misfires).
- P0400–P0499 — auxiliary emissions and EVAP (fuel-vapor recovery, EGR, secondary air).
- P0500–P0599 — vehicle-speed and idle control (VSS, idle-air-control valve).
- P0600–P0699 — computer output circuits (ECU/PCM communication faults).
- P0700–P0899 — transmission (shift solenoids, torque converter, sensors).
How urgent is a code? Three priority tiers
Not every check-engine light is an emergency. Prioritize by fault category:
- Critical, pull over or drive gently to a shop. Flashing check-engine light (active misfire), overheating codes, brake- or ABS-related C-codes, or any code accompanied by loss of power. A flashing light while driving can destroy the catalytic converter in minutes.
- Major, schedule a diagnosis within a week. Steady check-engine light with codes pointing to sensors, catalyst efficiency (P0420 / P0430), or fuel-trim issues. Safe to drive short distances, but emissions and fuel economy suffer and additional damage can compound.
- Minor, address at your next service. EVAP codes (P0442, P0455, often just a loose gas cap), single non-critical body electronics faults, or intermittent codes that don't re-trigger after a full drive cycle.
DIY reading vs. taking it to a mechanic
A basic OBD-II scanner costs less than a single shop diagnostic fee and gives you the same starting information. For most drivers the right split is:
- DIY the code read: plug in an inexpensive Bluetooth OBD-II dongle plus a free phone app, or use a plug-in code reader. Many auto-parts stores also scan codes for free.
- DIY the obvious fix: tighten the gas cap for EVAP codes, replace a burned-out bulb or fuse, swap a lazy oxygen sensor if you're comfortable with basic tools.
- Take it in when: the code involves the catalyst, transmission, or airbag/ABS systems; a repair requires special tools or programming; or the same code keeps returning after DIY attempts. Guessing at parts is more expensive than paying for a proper diagnosis.
Never clear a code just to make the light go off before an emissions test, clearing resets the OBD readiness monitors, and the vehicle will fail inspection with "not ready" status until they naturally reset over many miles of driving. Fix the root cause first, then clear.
Generic vs. manufacturer-specific codes — why the same code can mean two things
Codes where the second character is 0 or 2 are standardized by SAE, they mean the same thing on any OBD-II vehicle since 1996. Codes where the second character is 1 are manufacturer-specific: the letter and system are standard, but the fault number is defined by the automaker. Always cross-reference a "1"-family code against your vehicle's service manual or a make-specific database, because the description in a generic list may not match your car's actual behavior.
Frequently Asked Questions
What is an OBD-II code?
An OBD-II code (or diagnostic trouble code / DTC) is a five-character code your car's computer stores when it detects a fault. The first letter shows the system (P, B, C or U) and the digits identify the specific problem, such as P0300 for a random engine misfire.
How do I read an OBD-II code?
Plug an OBD-II scanner into the port under the dashboard, turn the ignition on, and read the stored code. Then enter it in the lookup above for the plain-English meaning, severity and common causes.
Can I still drive with a check-engine light?
It depends on the code. Emissions codes are usually safe short-term, but a flashing check-engine light or a misfire code (like P0301) means you should stop driving hard and get it diagnosed to avoid catalytic-converter damage.
What's the difference between a generic and manufacturer-specific code?
Codes where the second character is 0 or 2 are standardized by SAE, they mean the same thing on any OBD-II vehicle since 1996. Codes where the second character is 1 are manufacturer-specific: the letter and system are standard, but the fault number is defined by the automaker. Always cross-reference "1"-family codes against your vehicle's service manual.
Is it safe to clear a code before an emissions test?
No. Clearing codes resets the OBD readiness monitors that inspection stations check. A car with recently cleared codes shows "not ready" and will fail the test until the monitors complete naturally, often 50+ miles of varied driving. Fix the root cause first, then clear.
Code definitions sourced from the open-source OBD-II dataset (SAE J2012 / ISO 15031 standard). Additional educational reference: CalAmp, OBD2 Codes Explained, Blue Book, OBD-II Code List, Edmunds, OBD-DTC, Pitstop, OBD-II Codes List Lookup. VinSpecs is an independent service, not affiliated with any manufacturer.