OBD2 CODE HUB · PILLAR GUIDE

Engine Codes: Complete List of OBD-II Trouble Codes


Every automotive diagnostic trouble code explained in plain English , what the five characters mean, the most common codes drivers see, and exactly what to check next.

Complete list of OBD-II engine trouble codes with diagnostic tablet on engine

What is an automotive diagnostic trouble code? An automotive diagnostic trouble code (DTC) is a five-character alphanumeric alert your car’s computer stores when its onboard diagnostic system detects a malfunction. Since 1996, every car sold in the United States has used the standardized OBD-II system, so a code like P0300 means the same thing whether you drive a Ford, a Toyota, or a BMW. Reading the code turns a vague check engine light into a concrete starting point for diagnosis.

What is an automotive diagnostic trouble code?

An automotive diagnostic trouble code (DTC) is a five-character alphanumeric alert your car's computer stores when its onboard diagnostic system detects a malfunction. Think of it as a symptom report, not a verdict, the code points you toward the troubled system, but confirming the actual failed part still takes testing.

Since 1996, every car sold in the United States has used the standardized OBD-II system, so a code like P0300 means the same thing whether you drive a Ford, a Toyota, or a BMW. When the system spots a fault, it stores the dtc code and turns on your check engine light. Reading the code turns that vague dashboard warning into a concrete starting point for diagnosis.

One thing most drivers don't realize: the check engine light (technically called the malfunction indicator lamp) is not a general-purpose warning. Low oil pressure, overheating, or low fuel won't trigger it, those have their own lights and gauges. The check engine light is specifically tied to engine, emissions, and drivetrain faults the computer monitors.

How to pull your engine codes (do this first)

Before any of the theory below matters, you need the actual code from your car. Here's the exact process:

  1. Find your OBD2 port: it's a 16-pin connector under the driver's-side dashboard, usually left of the steering column. Every car since 1996 has it in roughly the same spot.
  2. Plug in a scanner: an obd2 code reader or bluetooth obd2 scanner. Basic readers cost under $30; auto parts stores will also read your codes for free. Once you have your codes, look them up here for plain-English meanings.
  3. Turn the ignition ON, engine OFF: power up the electronics without starting the car.
  4. Read the codes: the scanner shows stored codes, pending codes, and often freeze frame data. Write them all down before clearing anything.

A basic obd2 scanner focuses mainly on powertrain (P) codes, the engine codes behind most check engine lights. More advanced diagnostic tools can scan every control module in the vehicle (body, chassis, network), giving a fuller picture. For most drivers, a basic reader is enough to start.

No scanner handy? You can still narrow it down. Write down exactly what the car is doing, sounds, smells, vibrations, when it happens, and whether the light is steady or flashing. Rough idle, poor fuel economy, hesitation, strange smells: these symptoms point toward likely systems even before you read a code. Many drivers start with a bluetooth adapter paired to a free phone app like Car Scanner or Torque, which reads codes plus live sensor data for under $25 total.

How to pull engine codes: OBD2 scanner plugged into the 16-pin diagnostic port

Where engine codes come from: a 60-second history

Onboard diagnostics started in California. In 1991, the California Air Resources Board required basic self-diagnostic systems on new cars, but every automaker used its own connectors and code definitions, a scanner that worked on a GM would not work on a Toyota. The fix arrived in 1996, when the EPA mandated OBD-II on all cars and light trucks sold in the United States. From that model year on, every vehicle uses the same 16-pin diagnostic connector under the dash and the same core set of generic codes.

Three SAE standards do most of the work behind the scenes. SAE J1962 defines the 16-pin connector and its pin layout. SAE J1979 defines the diagnostic modes your scanner uses, mode $01 for live data, mode $03 for reading stored codes, mode $04 for clearing them. And SAE J2012 defines the trouble code definitions themselves, so P0171 always means “system too lean” no matter whose scan tool you use. Europe followed with EOBD in 2001 for gasoline cars and 2004 for diesels, using the same connector and code structure.

How to read an engine code: the five-character system

Every automotive diagnostic trouble code follows the same five-character format, and each character narrows down the problem:

  • First character (letter): the vehicle system. P = powertrain (engine, transmission, emissions: behind almost every check engine light). B = body (airbags, climate control, lighting). C = chassis (ABS brakes, steering, suspension). U = network (communication faults between computer modules).
  • Second digit: generic or manufacturer-specific. 0 = generic, defined by SAE J2012, identical on every brand. 1 = manufacturer-specific, defined by each automaker (a P1101 on a Chevy may differ from a P1101 on a Honda).
  • Third digit: the subsystem. 1-2 = fuel and air metering, 3 = ignition and misfires, 4 = auxiliary emission controls, 5 = idle and speed control, 6 = computer itself, 7 = transmission.
  • Final two digits: the exact fault.

So P0171 breaks down as: P (powertrain) + 0 (generic) + 1 (fuel/air metering) + 71 (system too lean, Bank 1).

Five-character OBD2 code breakdown: P0420 explained by position

The most common engine codes (with severity)

These are the dtc codes repair shops see every day, plus the chassis and network codes Google's own overview highlights, with plain-English meanings and how urgently to act:

  • P0300: Random/multiple cylinder misfire. HIGH urgency: diagnose promptly; flashing light means stop driving.
  • P0301-P0308: Misfire in a specific cylinder (last digit = cylinder number). HIGH: isolate the cylinder, test plug/coil.
  • P0171 / P0174: System too lean, Bank 1 / Bank 2. MODERATE: check fuel trims, inspect for vacuum leaks.
  • P0172 / P0175: System too rich. MODERATE: check fuel pressure, leaking injectors.
  • P0420 / P0430: Catalyst efficiency below threshold, Bank 1 / Bank 2. MODERATE: confirm with O2 sensor data before replacing the converter.
  • P0442: EVAP small leak, often just a loose gas cap. LOW: check the gas cap first.
  • P0455: EVAP large leak detected. LOW–MODERATE.
  • P0128: Coolant temperature below thermostat regulating temperature. LOW–MODERATE.
  • P0401: EGR flow insufficient. MODERATE.
  • P0700: Transmission control system malfunction (general alert: scan the transmission module for specifics). MODERATE–HIGH.
  • P0130-P0167: Oxygen sensor circuit faults. MODERATE.
  • C0035: Wheel speed sensor circuit malfunction (chassis family: affects ABS and traction control, not the engine itself). MODERATE.
  • U0073: Control module communication bus off (network family: modules can't talk to each other; check wiring and fuses). MODERATE.
  • U0100: Lost communication with ECM/PCM. MODERATE.

Emissions data backs this up: the five most frequent code families behind failed emissions tests are EVAP system faults, engine misfires, lean fuel trim, catalytic converter efficiency, and oxygen sensor faults.

Browse engine codes by system

Automotive diagnostic trouble codes span seven major vehicle systems. Pick your system for deeper guides with more codes, causes, symptoms, and fixes:

Generic vs. manufacturer-specific codes

Generic codes (0 as the second digit, like P0300) are the common language of car repair, SAE J2012 defines them, so every scan tool and every brand agrees. Manufacturer-specific codes (1 as the second digit, like P1101) are defined by each automaker. Always confirm a manufacturer-specific code against your exact make, model, and year before diagnosing.

Pending, stored, and permanent codes

Not every stored code means the same thing. A pending code means the computer saw a fault once, an early warning, no light yet. A stored code means the fault repeated and the check engine light is on. A permanent code cannot be erased with a scanner at all; it clears itself only after the computer runs its own test and the fault passes. That's why a code sometimes refuses to clear, the car, not the scanner, decides when the problem is truly fixed.

What freeze frame data tells you

When an automotive diagnostic trouble code sets, the computer saves a snapshot: RPM, coolant temperature, vehicle speed, engine load, and fuel trim at the exact moment of the fault. This snapshot is often more valuable than the code itself. A lean code with high fuel trim at idle points to a vacuum leak; the same code with high fuel trim under load points to low fuel pressure. Always read freeze frame before clearing anything.

Freeze frame data on an OBD2 scanner showing RPM, coolant temp and engine load

Common symptoms that send drivers here

Engine codes rarely appear alone. Drivers usually notice one or more of these symptoms first, then pull the code to find out why:

  • Rough idle, shaking, or stalling at stoplights.
  • Hesitation or sluggish acceleration when you press the gas.
  • Noticeably worse fuel economy than usual.
  • A flashing check engine light, which signals a severe misfire that can damage the catalytic converter.
  • Reduced power or limp mode, where the car limits itself to protect the engine or transmission.
  • A failed emissions test, often caused by an emissions-related code or by monitors that are not ready.

Step-by-step: how to diagnose an engine code

  1. Read everything first: all stored, pending, and permanent codes plus freeze frame data. Don't clear anything yet.
  2. Look up the exact definition: confirm generic vs. manufacturer-specific for your make.
  3. Check for patterns: multiple codes tell a story. Lean codes on both banks plus a misfire often trace to one vacuum leak.
  4. Inspect before you test: wiring, connectors, vacuum hoses, fluid levels. Many faults are visible: cracked hoses, corroded pins, a loose gas cap.
  5. Test the suspect: multimeter, smoke machine, or fuel pressure gauge. Confirm the failed part before buying a replacement.
  6. Repair, then verify: drive a full drive cycle and confirm the code stays gone and all monitors read ready.
Mechanic diagnosing an engine code with a scanner in a garage

Typical repair cost ranges

  • $0 (free): tightening a loose gas cap: fixes many small EVAP leak codes
  • $100-$150: professional diagnosis (many auto parts stores read codes free)
  • $100-$300: spark plugs: the most common misfire fix
  • $150-$400: ignition coil, oxygen sensor, or mass airflow sensor
  • $300-$800: fuel injector, EGR valve, or EVAP purge solenoid with labor
  • $1,000-$2,500+: catalytic converter replacement
  • $2,500-$4,500+: transmission rebuild for serious gearbox codes

DIY or see a mechanic?

DIY-friendly: reading codes, checking freeze frame, inspecting hoses and wiring, replacing a gas cap or air filter, changing spark plugs. A mid-range scan tool with live data pays for itself quickly.

See a professional for: internal transmission faults, computer/module failures, EVAP smoke testing, anything needing module programming, and any flashing check engine light. A flashing light means raw fuel is reaching the catalytic converter, keep driving and a $200 ignition repair becomes a $2,000 converter replacement.

Why a code comes back after you clear it

Clearing a code erases the alert, not the problem. If the fault is still there, the computer detects it again, sometimes within one drive cycle, and the light returns. One more trap: clearing codes right before an emissions test resets readiness monitors to "not ready," an automatic fail in most states. Fix the fault, drive normally for a few days, and let the monitors complete on their own.

What is the most common engine code?
The most common engine codes drivers see are P0420 (catalytic converter efficiency), P0171 and P0174 (lean fuel mixture), and P0300 (random misfire). The exact ranking varies by vehicle age and make, but these four appear in repair shops every day.
Can I drive with the check engine light on?
A steady check engine light usually means a non-urgent issue, but you should still diagnose it soon. A flashing check engine light means a severe misfire is happening right now, pull over safely and get the car checked, because raw fuel can overheat and destroy the catalytic converter.
Will an OBD2 scanner tell me exactly which part to replace?
No. A trouble code identifies the circuit or system that failed its test, not the specific part. For example, P0171 (system too lean) can be caused by a vacuum leak, a dirty mass airflow sensor, low fuel pressure, or an exhaust leak. The code tells you where to look; testing tells you what to replace.
Are engine codes the same for every car brand?
Generic codes, those with a 0 as the second digit like P0300, are standardized under SAE J2012 and mean the same thing on every brand. Manufacturer-specific codes, with a 1 as the second digit like P1101, are defined by each automaker and must be looked up for your exact make and model.

Have a specific code on your scanner? Search any trouble code on the homepage to get its meaning, the most common causes, and what to check next.

Conclusion: your check engine light, decoded

Engine codes aren't a mystery once you know the system. Every automotive diagnostic trouble code follows the same five-character logic, the letter names the system, the digits narrow it to the exact fault, and any obd2 scanner can pull them in under two minutes through the port under your dash.

Remember the golden rule: the code is a starting point, not a parts order. Read all your dtc codes plus freeze frame data, look for patterns across multiple codes, inspect before you test, and confirm the failed part before spending money. Most check engine light codes trace back to a short list of usual suspects, vacuum leaks, worn spark plugs, tired oxygen sensors, a loose gas cap, and half of them are DIY-friendly.

Have a specific code on your scanner? Look it up in our code lookup tool or browse engine codes by system above to get its exact meaning, the most likely causes, and what to check next, free, in plain English, no mechanic visit required just to understand what your car is telling you.