Your check engine light is on, you plugged in a scanner or got a code read for free at the parts store, and now you have a five-character code and a knot in your stomach. Good news: most check engine lights come down to the same handful of codes, and most of them have a cheap thing to check before you spend real money.
Below are the 10 codes that show up more than any others, with what each one actually means, the cheapest likely cause to rule out first, and honest DIY cost versus shop cost. The pattern you will notice fast: the shop number and the DIY number are often separated by a factor of ten, and the difference is almost entirely labor and markup on a part you could swap yourself. Here is the summary table, then the details.
| Code | What It Is / Check First | DIY Cost | Shop Cost |
|---|---|---|---|
| P0420 | Catalyst efficiency low. Test the downstream O2 sensor before touching the cat. | $50 | $900-$2,400 |
| P0171 | System too lean (Bank 1). Clean the MAF sensor, check for a vacuum leak. | $8-$60 | $200-$600 |
| P0300 | Random misfire. Spark plugs first, then coils. | $30-$120 | $300-$500 |
| P0301 | Cylinder 1 misfire. Swap the coil to a neighbor and see if the misfire moves. | $30-$80 | $150-$300 |
| P0455 | Large EVAP leak. Tighten or replace the gas cap. Seriously. | $0-$25 | $120-$300 |
| P0128 | Coolant temp below thermostat setting. Almost always a stuck-open thermostat. | $20-$40 | $180-$400 |
| P0440 | General EVAP fault. Gas cap, then purge valve. | $15-$60 | $150-$400 |
| P0442 | Small EVAP leak. Cap O-ring or a cracked EVAP line. Smoke test. | $15-$40 | $150-$350 |
| P0401 | EGR insufficient flow. Clean the carbon-clogged EGR valve before replacing. | $15-$90 | $250-$500 |
| P0700 | Transmission control fault. A pointer code. Read the second stored code. | Varies | $100+ |
P0420 - Catalyst Efficiency Below Threshold
In plain English, your car thinks the catalytic converter is not cleaning the exhaust well enough. This is the code that gets people quoted $1,800, because a converter is genuinely expensive. But the code is generated by the downstream oxygen sensor, and a tired O2 sensor throws P0420 while the cat is perfectly fine.
P0171 - System Too Lean (Bank 1)
Lean means too much air relative to fuel. The three usual causes are a dirty mass airflow (MAF) sensor, a vacuum leak, or a weak fuel pump, roughly in that order of likelihood. Most people never get past the first one.
P0300 - Random / Multiple Cylinder Misfire
The engine is misfiring but the computer cannot pin it to one cylinder. Roughly six times out of ten it is worn spark plugs, especially if you are near 100,000 miles and cannot remember the last time they were changed. Ignition coils are the runner-up.
P0301 - Cylinder 1 Misfire
Same idea as P0300 but isolated to one cylinder, which actually makes diagnosis easier. When it is one cylinder, it is almost always the plug or coil on that cylinder specifically.
P0455 - Large EVAP System Leak
Your fuel vapor system has a big leak. The single most common cause, by a mile, is a loose, cracked, or missing gas cap. This is the code people pay hundreds for when the fix was free.
P0128 - Coolant Temp Below Thermostat Regulating Temp
The engine is not reaching normal operating temperature fast enough. This is one of the most predictable codes there is: it is a stuck-open thermostat almost every single time.
P0440 - EVAP System Malfunction
A more general fuel vapor system fault. It overlaps heavily with P0455 and P0442. Start at the cheap end and work up: gas cap, then the purge valve, then the charcoal canister.
P0442 - Small EVAP System Leak
A small vapor leak, too small to always feel or smell. Usually the gas cap O-ring has hardened or there is a hairline crack in an EVAP hose.
P0401 - EGR Insufficient Flow
The exhaust gas recirculation valve is not flowing enough, usually because it is caked with carbon. The reflex fix at a shop is to replace it. Half the time you can just clean it.
P0700 - Transmission Control System Malfunction
This one is different. P0700 is not a fault by itself, it is a flag telling you the transmission computer stored its own separate code. Never let a shop quote a transmission repair off P0700 alone.
The one rule that ties all of these together
Every code above points to a system, not a specific part. The code tells you where to look, not what to buy. The money gets wasted when someone replaces the most expensive component the code could justify, instead of testing the cheapest cause first. That is the entire game, and now you know it.
If your code is not on this list, or you want the causes ranked by probability for your exact year, make, and model instead of a generic range, that is exactly what the free AI diagnosis is for. Enter your car and symptoms and it does the ranking for you, so you walk into the shop already knowing what is likely and what is a stretch.