The check engine light comes on, your code reader shows a string of letters and numbers, and suddenly you’re staring at a mystery: P0420. What does it mean? Is the car about to die? Do you need a $2,000 repair? Here’s the good news: the codes drivers see most often are also the ones with the most well-trodden fixes. This guide covers the ten codes that show up again and again in driveways and shop bays, what each one means in plain English, and how urgent it really is. Think of it as a cheat sheet you can keep next to your code reader.
What a check engine code is
Codes are the car’s way of telling you which system it’s unhappy with. OBD2 codes starting with “P” (for powertrain) follow a pattern. The first digit after the P — usually 0 — means the code is generic, so it means the same thing on nearly every car. The second digit points at a system: 1 for fuel and air metering, 3 for ignition and misfires, 4 for auxiliary emissions controls like the evaporative system. The last two digits identify the specific fault.
One warning before we start: a code is a clue, not a verdict. The same code can have different causes on different cars, and chasing a code without understanding it is how people end up replacing parts they didn’t need. Use this list to understand what you’re looking at, then dig into the linked code pages for the details.
Here’s the quick-reference table for all ten codes:
| Code | What it means in plain English | How urgent |
|---|---|---|
| P0300 | Engine is misfiring randomly across cylinders | High — fix it soon |
| P0171 | Engine is running too lean (too much air) | Medium |
| P0420 | Catalytic converter efficiency below normal | Medium |
| P0442 | Small leak in the fuel vapor system | Low |
| P0455 | Large leak in the fuel vapor system | Low to medium |
| P0128 | Engine isn’t warming up to temperature | Low to medium |
| P0135 | Oxygen sensor heater circuit fault | Low |
| P0141 | Second oxygen sensor heater circuit fault | Low |
| P0401 | EGR valve isn’t flowing enough exhaust gas | Low to medium |
| P0335 | Crankshaft position sensor signal missing | High |
P0300 — Random misfire
P0300 means the computer detected misfires in more than one cylinder, or it couldn’t pin the misfire to a single cylinder. The engine is stumbling, shaking, or losing power because fuel isn’t burning cleanly in every cylinder.
Common causes: old spark plugs, failing ignition coils, vacuum leaks, fuel delivery problems, or low compression. If the check engine light is flashing while P0300 is stored, stop driving soon — raw fuel is flowing into the catalytic converter and can destroy it. A misfire needs attention, but it’s usually repairable with common parts. See the P0300 code page for the full breakdown.
P0171 — Running too lean
P0171 means the engine is getting too much air or not enough fuel. The computer has corrected the mixture as far as it can and still sees a lean condition. Common causes: vacuum leaks (cracked hoses, bad intake gaskets), a dirty or failing mass air flow sensor, a weak fuel pump, or a clogged fuel filter.
A lean engine can run rough at idle, hesitate when you accelerate, and slowly damage the engine if ignored. It’s not a pull-over-right-now emergency, but it deserves attention within a week or two. Full details are on the P0171 code page.
P0420 — Catalytic converter efficiency
P0420 means the catalytic converter on bank 1 isn’t cleaning the exhaust as well as the computer expects. The most common cause is a converter that’s genuinely worn out or clogged — but a bad oxygen sensor or an exhaust leak can trigger it too. That’s why a shop should verify the converter before selling you one.
A P0420 will usually fail an emissions test, and a clogged converter can cause power loss. Bank 2 has its own code, P0430, which means the same thing on the other side of the engine. Start with the P0420 code guide.
P0442 — Small evaporative leak
The evaporative system captures fuel vapors from the gas tank and burns them in the engine. P0442 means the computer found a small leak somewhere in that system. The number one cause is a loose or worn gas cap.
The car usually drives completely normally with this code. Tighten the gas cap, clear the code, and see if it stays gone. If it returns, a smoke test at a shop can locate the leak. Details: P0442 code.
P0455 — Large evaporative leak
P0455 means a big leak in the same system — a disconnected hose, a cracked filler neck, or a damaged component. Again, drivability is rarely affected, but the car will fail emissions and waste fuel vapors. A shop smoke test finds these quickly. See the P0455 code page.
P0128 — Thermostat stuck open
P0128 means the engine isn’t reaching operating temperature fast enough — almost always a thermostat stuck open. The car may still drive fine, but fuel economy drops, the heater blows cool air, and the engine runs colder than designed.
It’s a low-to-medium urgency repair: the thermostat itself is usually inexpensive, and labor is modest. Just don’t ignore it for months. Full details are on the P0128 code page.
P0135 and P0141 — Oxygen sensor heater faults
P0135 and P0141 both mean an oxygen sensor’s internal heater circuit has failed — P0135 for the sensor before the catalytic converter, P0141 for the one after. The sensor still works, but it takes longer to warm up, so the engine runs in a slightly richer cold-start mode longer than it should.
These are low-urgency codes: the car usually drives fine, though fuel economy can dip a little. The fix is replacing the affected sensor. See the P0135 code and P0141 code pages.
P0401 — EGR flow problem
The EGR valve routes a small amount of exhaust gas back into the intake to lower combustion temperatures. P0401 means the computer didn’t see enough flow. On most cars, the culprit is carbon buildup clogging the valve or its passages — a cleaning often fixes it, and sometimes the valve itself needs replacing.
The car usually runs fine, but the light stays on and emissions suffer. Not urgent, but worth handling before an emissions test. Full guide: P0401 code.
P0335 — Crankshaft position sensor
P0335 means the computer isn’t getting a signal from the crankshaft position sensor, which it needs to time the spark and fuel. This one is more serious: if the sensor fails completely, the car may stall, hesitate, or refuse to start.
If the car is still running, get it diagnosed soon — don’t let a failing crank sensor strand you. See the P0335 code page.
What to do when you get any of these codes
Whatever code you pull, the process is the same:
- Write down the code, and if your reader supports it, the freeze frame data showing engine conditions when the fault happened.
- Check the cheap and obvious stuff first — gas cap, visible vacuum hoses, loose connections.
- Don’t buy parts based on the code alone. One code can have several causes, and an auto parts store can’t diagnose your car.
- Ask a shop how they verified the diagnosis before approving a big repair.
Start with the code-specific page for your exact code, and you’ll have a much better idea of what you’re dealing with before you spend a dime.
Frequently asked questions
Can I clear the code and hope it doesn’t come back?
You can, and it’s a reasonable test after a simple fix like tightening the gas cap. But clearing a code only erases the memory — it doesn’t fix the problem. If the fault is still there, the light will come back, often within a few drive cycles.
Why does the same code mean different things on different cars?
Codes describe symptoms, not root causes. A P0300 misfire can be spark plugs on one car and a fuel pump on another. That’s why a code is a starting point for diagnosis, not a part order form.
What’s the difference between a solid and a flashing check engine light?
A solid light means the computer stored a fault and the car is usually safe to drive for now. A flashing light means a misfire is happening right now — stop driving when it’s safe and get help, because the converter can be damaged.
