A check engine code rarely names the broken part.
It points to a symptom and the system the computer flagged, so you still need testing to find the real cause.
If you want to stop guessing, save money, and keep your car running, learn how to read the common OBD-II engine codes, what each usually means, how urgent each is, and the simple checks that confirm the fault.
We’ll list the top codes, plain-English causes, typical symptoms, and what to do first.
Quick Reference for Common Engine Codes

An OBD-II code (that’s the on-board diagnostics system your car’s been running since 1996 to catch engine and emissions problems) identifies the system or condition the computer flagged as abnormal. It doesn’t automatically tell you which part failed. Think of it as a symptom report, not a verdict. The code points you toward a likely trouble spot, but confirming the actual cause still takes some testing.
Here’s a fast breakdown of five common codes, what they usually mean, and how urgently you should act.
| Code | Plain-English Meaning | Typical Symptoms | Likely Causes | Severity | Recommended Action |
|---|---|---|---|---|---|
| P0300 | Random or multiple-cylinder misfire | Rough idle, shaking, hesitation, flashing check engine light | Worn spark plugs, failed coils, vacuum leak, low compression | High | Diagnose promptly, limit driving if severe |
| P0301-P0308 | Misfire in a specific numbered cylinder | Rough running, power loss, engine shake | Bad plug/coil for that cylinder, injector fault, low compression | High | Isolate the cylinder, test targeted components |
| P0171 | Lean air-fuel condition (too much air, not enough fuel) | Hesitation, rough idle, poor acceleration | Vacuum leak, weak fuel pressure, dirty MAF sensor | Moderate | Check fuel trims and inspect for vacuum leaks |
| P0420 | Catalyst efficiency below threshold | Check engine light, possible emissions failure | Failing catalytic converter, faulty O2 sensors, exhaust leak | Moderate | Confirm with O2 sensor data before replacing parts |
| P0442 | Small EVAP system leak | Check engine light, usually no drivability change | Loose or worn gas cap, small hose crack | Low | Check gas cap first, plan repair before emissions test |
P0300 and persistent cylinder-specific misfires sit at the top of the priority list. A continuing misfire dumps unburned fuel into the exhaust, and that fuel can overheat the catalytic converter. What starts as a cheap fix turns expensive fast. P0171 and P0420 fall into the moderate zone. They can hurt fuel economy, drivability, or emissions compliance, but they rarely mean you need to pull over right now. P0442 is usually low severity, often just a gas cap that didn’t click shut all the way. Still, it deserves a real repair before it fails an emissions test.
Before you clear anything, write down every stored and pending code. A pending code is one the computer noticed but hasn’t confirmed with enough repeated occurrences to trigger the check engine light yet. Preserve the freeze-frame data too. That’s a snapshot the computer takes the moment a fault is detected, including engine speed, coolant temperature, vehicle speed, and fuel-trim readings (fuel trim shows how much the computer is adjusting fuel delivery to keep the mixture correct). Note whether the check engine light is steady or flashing as well, since a flashing light usually signals something more urgent, like an active misfire.
Once you’ve got that information, pull up live data and compare it against what the freeze frame recorded. Does the rough idle, power loss, stalling, or reduced fuel economy match what you’re actually seeing on the road? If so, move to targeted tests, checking a specific sensor’s voltage or testing fuel pressure, rather than swapping parts based on the code name alone. A code reader tells you where to look. It doesn’t tell you what to buy.
How OBD-II Code Characters Identify the Fault

Every OBD-II code follows the same five-character format: one letter followed by four digits. Take P0300 as an example. The first character, P, tells you the fault lives in the powertrain system (engine and transmission). The other letters you might see are B for body, C for chassis, and U for network communication, covering things like power windows, airbags and suspension sensors, or communication faults between onboard computer modules.
The second character narrows things down further. A 0 generally means the code is a generic SAE code (that’s the Society of Automotive Engineers, the group that standardized these definitions across manufacturers), while a 1 generally means it’s manufacturer-specific. From there, the third digit groups the fault by subsystem. Digits 0 through 3 usually relate to fuel, air, or injector circuits. A 3 in that position often points to ignition or misfire issues. A 4 covers auxiliary emissions controls, a 6 covers computer circuits, and 7 or 8 typically point to transmission problems. The final two digits pinpoint the exact fault within that subsystem.
This structure matters because a generic P0xxx code carries roughly the same definition no matter what you drive. A P0300 on a Honda means the same basic thing as a P0300 on a Ford. Manufacturer-specific P1xxx codes are a different story. The same code number can mean something entirely different from one brand to the next, since manufacturers create these codes for conditions the generic SAE list doesn’t cover. If your scan tool returns a P1xxx code, don’t rely on a generic lookup chart. Check the OEM
Final Words
Record every stored and pending code first, save freeze-frame data, and note whether the check-engine light is steady or flashing. Use the quick-reference table to judge severity for P0300, P0301–P0308, P0171, P0420, and P0442, then compare live data to the recorded conditions.
Remember the five-character code anatomy so you know when a code is generic or manufacturer-specific. Treat persistent misfires as high risk — they can ruin a catalytic converter.
If you’re interpreting common OBD-II codes for engine performance, this workflow gets you to the right next step quickly and confidently.
FAQ
Q: Can I read codes with the engine running?
A: You can read OBD-II codes with the engine running; many scanners display stored, pending, and live data. Running the engine helps diagnose misfires and sensor behavior, but follow safety practices and secure the vehicle.
Q: What are some common OBD-II engine codes? What are the most common check engine codes? What is the most common car diagnostic code?
A: Common OBD-II engine codes include P0300 (random misfire), P0301–P0308 (cylinder misfires), P0171 (system too lean), P0420 (catalyst efficiency), and P0442 (small EVAP leak). P0300 is among the most frequent.