2,188 codes · Free forever

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

Data sources

All the specs, recalls and safety data on VinSpecs are pulled from official public U.S. databases. We are an independent service, not affiliated with any government agency or manufacturer.

NHTSA — National Highway Traffic Safety Administration NMVTIS — National Motor Vehicle Title Information System NICB — National Insurance Crime Bureau (VINCheck)

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.

Most-searched OBD-II codes

P0300 Random/Multiple Cylinder Misfire Detected P0301 Cylinder 1 Misfire Detected P0302 Cylinder 2 Misfire Detected P0303 Cylinder 3 Misfire Detected P0304 Cylinder 4 Misfire Detected P0171 System too Lean (Bank 1) P0172 System too Rich (Bank 1) P0174 System too Lean (Bank 2) P0128 Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature) P0420 Catalyst System Efficiency Below Threshold (Bank 1) P0430 Catalyst System Efficiency Below Threshold (Bank 2) P0442 Evaporative Emission Control System Leak Detected (small leak) P0455 Evaporative Emission Control System Leak Detected (gross leak) P0401 Exhaust Gas Recirculation Flow Insufficient Detected P0113 Intake Air Temperature Circuit High Input Bank 1 P0135 02 Sensor Heater Circuit Malfunction (Bank 1 Sensor 1) P0136 02 Sensor Circuit Malfunction (Bank I Sensor 2) P0141 02 Sensor Heater Circuit Malfunction (Bank 1 Sensor 2) P0700 Transmission Control System Malfunction P0740 Torque Converter Clutch Circuit Malfunction P0011 ACamshaft Position - Timing Over-Advanced or System Performance (Bank 1) P0016 Crankshaft Position - Camshaft Position Correlation (Bank 1 Sensor A) P0100 Mass or Volume Air FlowACircuit Malfunction P0101 Mass or Volume Air FlowACircuit Range/Performance Problem P0102 Mass or Volume Air FlowACircuit Low Input P0113 Intake Air Temperature Circuit High Input Bank 1 P0325 Knock Sensor 1 Circuit Malfunction (Bank 1 or Single Sensor) P0340 Camshaft Position Sensor Circuit Malfunction (Bank 1) P0446 Evaporative Emission Control System Vent Control Circuit Malfunction P0500 Vehicle Speed SensorAMalfunction P0521 Engine Oil Pressure Sensor/Switch Circuit Range/Performance P0562 System Voltage Low

Browse by system

P

Powertrain codes

Engine, transmission & drivetrain — the most common codes (e.g. P0300).

B

Body codes

Interior systems: airbags, lighting, power accessories & climate.

C

Chassis codes

ABS, brakes, steering, suspension & traction control.

U

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.