Home → Guides → Common codes

The 10 most common check engine light codes and what they mean

Updated 23 October 2026 · about 9 minutes to read

The check engine light is the least informative warning on your dashboard. It is one amber symbol standing in for several thousand possible conditions, and it looks exactly the same whether the cause is a loose fuel cap or a dying catalytic converter.

The code behind it is where the information lives. Every time a control module decides something is wrong, it stores a five-character diagnostic trouble code — a DTC — and that code narrows "something is wrong" down to a specific circuit or condition. Reading it takes under a minute with an adapter and a phone.

This guide covers the ten codes that come up most often, what each one actually means, what usually causes it, and how worried you should be. First, a short detour that makes every code easier to read.

How to read a code like P0420

A DTC is never random. Each character tells you something, and once you know the pattern you can roughly place any code you have never seen before.

PositionWhat it tells you
P0420The system. P = powertrain (engine, transmission), B = body, C = chassis, U = network / communication.
P0420Who defined it. 0 = generic, the same meaning on every make. 1 = manufacturer-specific, defined by your carmaker.
P0420The subsystem. 1 and 2 = fuel and air metering, 3 = ignition and misfire, 4 = emission controls, 5 = idle and speed control, 6 = computer outputs, 7 and 8 = transmission.
P0420The exact fault within that subsystem.

So P0420 reads as: a powertrain code, generic, in the emission-control group, describing catalyst efficiency. P0301 reads as: powertrain, generic, ignition and misfire, cylinder 1. You can see the shape of the problem before you look anything up.

Stored, pending, permanent

A stored (or confirmed) code is one the module is sure about — that is the one that turns the light on. A pending code means the fault was seen once and the car is waiting to see it again; if it does not repeat, the car clears it by itself. A permanent code can only be cleared by the car, after it has genuinely verified the repair. A good scanner shows you which is which, so you are not chasing a fault the car fixed months ago.

The 10 most common codes

These are the codes that show up most often in emissions-test failure data and in the lookup logs of code databases. Between them they account for a large share of every check engine light on the road.

CodeMeaningUsually
P0420Catalyst system efficiency below threshold (bank 1)O2 sensor or exhaust leak before the converter
P0171System too lean (bank 1)Vacuum leak or dirty MAF sensor
P0300Random / multiple cylinder misfire detectedIgnition or fuel delivery across several cylinders
P0301Cylinder 1 misfire detectedCoil, plug or injector on that one cylinder
P0455Evaporative emission system — large leakFuel cap left loose or not sealing
P0442Evaporative emission system — small leakPerished hose or purge valve
P0128Coolant temperature below thermostat regulating temperatureThermostat stuck open
P0401Exhaust gas recirculation flow insufficientCarbon-clogged EGR valve or passages
P0174System too lean (bank 2)Same as P0171, other cylinder bank
P0133O2 sensor circuit slow response (bank 1, sensor 1)An oxygen sensor reaching the end of its life

P0420 — Catalyst system efficiency below threshold

The car compares the oxygen sensor before the catalytic converter with the one after it. A healthy converter stores and releases oxygen, so the downstream sensor should read steadily while the upstream one swings. When the two start to look alike, the module concludes the converter is no longer doing its job.

The trap: P0420 does not prove the converter is dead. An exhaust leak upstream, a lazy downstream sensor, or an engine running rich from some other fault will all produce the same reading. Converters are expensive, so this is the one code where it genuinely pays to rule out the cheap causes first. We wrote a full guide to P0420 for exactly that reason.

Urgency: low in the short term — the car drives normally. But it will fail an emissions test, and a converter failing because of an untreated misfire will keep failing.

P0171 — System too lean (bank 1)

"Lean" means too much air for the amount of fuel. The engine computer noticed it had to keep adding fuel to hold the mixture right, ran out of adjustment range, and logged the code. The usual culprits:

How to narrow it: watch the fuel trim values live. If short-term and long-term trim are both strongly positive at idle but settle down at higher RPM, a vacuum leak is the strong favourite — a fixed leak matters much less when the engine is already drawing a lot of air.

Urgency: medium. A persistently lean mixture runs the engine hotter and, left long enough, takes the catalytic converter with it.

P0300 — Random or multiple cylinder misfire

A misfire the module could not pin to a single cylinder, or one that moves around. Something is wrong across the engine rather than in one spot: old spark plugs, a failing coil pack, low fuel pressure, a vacuum leak, or bad fuel.

If the light is flashing, stop driving

A flashing check engine light means the misfire is severe enough to dump unburnt fuel into the exhaust, which can destroy the catalytic converter in minutes. Reduce speed, avoid heavy throttle and stop as soon as it is safe to do so.

Urgency: high if flashing, medium if steady.

P0301 to P0306 — Misfire on a named cylinder

The last digit is the cylinder number: P0301 is cylinder 1, P0304 is cylinder 4. This is far more useful than P0300, because you know where to look. The classic test is to swap parts between cylinders — move the coil from cylinder 1 to cylinder 2, clear the code, and drive. If the misfire follows to P0302, the coil is the fault. If it stays on cylinder 1, the problem is the plug, the injector or the compression in that cylinder.

Urgency: medium, high if the light flashes.

P0455 and P0442 — Evaporative emission system leaks

The EVAP system captures fuel vapour from the tank so it does not escape into the air, and the car periodically pressure-tests it. P0455 is a large leak, P0442 a small one.

Before anything else: check the fuel cap. A cap left loose, or with a hardened seal, is the single most common cause of P0455, and tightening it until it clicks several times costs nothing. The code will not clear instantly — the car has to run its EVAP self-test again, which can take a few drive cycles.

If the cap is fine, the leak is usually a perished rubber hose, a cracked charcoal canister, or a purge or vent valve stuck open.

Urgency: low for driving. It will fail an emissions test, and you may smell fuel.

P0128 — Coolant temperature below thermostat regulating temperature

The engine did not reach its proper operating temperature in the time the computer expected. Nine times out of ten the thermostat is stuck open, so coolant circulates through the radiator constantly and the engine never warms up properly. Occasionally the coolant temperature sensor is simply reading low.

The giveaway you can feel: the heater blows lukewarm, and the temperature gauge sits below its usual mark, especially in cold weather.

Urgency: medium. The car runs, but an engine held below temperature burns more fuel, wears faster and never fully cooks the moisture out of its oil.

P0401 — EGR flow insufficient

The exhaust gas recirculation valve feeds a measured amount of exhaust back into the intake to lower combustion temperature and cut NOx emissions. Over years, carbon builds up in the valve and the passages until too little gets through, and the module notices.

On many engines this is a cleaning job rather than a replacement — the valve and its ports come off and the carbon comes out. Expect a little pinging or a rougher idle alongside the code.

Urgency: low to medium. It will fail an emissions test.

P0174 — System too lean (bank 2)

Identical to P0171, on the other cylinder bank of a V-shaped or flat engine. If you have P0171 and P0174 together, that is a useful clue: a fault affecting both banks at once is almost certainly something shared — the MAF sensor, the intake boot, or fuel pressure — rather than two separate leaks.

P0133 — O2 sensor circuit slow response

An oxygen sensor still works, but it has become sluggish — it no longer switches between rich and lean as quickly as the computer expects. Sensors age; this is ordinary wear, usually after a long life, and sometimes accelerated by oil or coolant burning in the exhaust.

Note the position carefully. "Bank 1, sensor 1" is the upstream sensor on the cylinder bank containing cylinder 1 — replacing the wrong one is an easy and annoying mistake.

Urgency: medium. A lazy upstream sensor makes the whole fuel mixture less accurate, which costs fuel and can lead to P0420 later.

How urgent is it, really?

A quick way to triage before you decide whether to drive on:

What you seeWhat it meansWhat to do
Light flashingSevere misfire, converter at riskSlow down, stop driving as soon as safe
Light steady, car drives normallyA logged fault worth looking at soonRead the code, book it in within a week or two
Light steady + rough running, smoke or noiseSomething is actively wrongStop and get it looked at
Light on with red temperature or oil warningNot an emissions matterStop immediately — those are engine-damage warnings

One more habit worth keeping: look at the freeze frame. When a module stores a code it also snapshots the sensor values at that exact moment — RPM, load, coolant temperature, speed. A P0300 recorded at 2,800 RPM under heavy load tells a very different story from one recorded at idle, cold.

Read your own codes CodeGuru is free, works offline, and explains every code in plain words.

Get the app

How to read your own codes

You do not need a workshop or a diagnostic appointment to find out what the light means. Every car built to the OBD-II standard — effectively every petrol car since 1996 in the US, 2001 in Europe, and every diesel since 2004 there — has a 16-pin socket under the dashboard that will tell you.

  1. Get an ELM327 adapter. They are inexpensive and widely available in Bluetooth, WiFi and USB versions. Any ELM327-compatible one works.
  2. Find the port. Driver's side, under the dash, usually within arm's reach of the steering wheel — sometimes behind a small flap or near the fuse box.
  3. Turn the ignition to ON. Not accessory. The engine does not need to be running, but the modules need to be awake.
  4. Connect the app. The setup guide covers Bluetooth, BLE, WiFi and USB separately, because the steps genuinely differ.
  5. Read, and look wider. A standard OBD2 read only reaches the engine control unit. If your warning light is ABS or airbag, you need a full system scan that questions every module in the car.

Write the codes down, including whether each is stored or pending, before you clear anything. If you do hand the car to a mechanic, those codes and the freeze frame data are the most useful thing you can give them.

Questions people ask

Can I drive with the check engine light on?

A steady light means the car has logged a fault worth investigating soon, and short, gentle driving is usually fine. A flashing light is different: it signals a misfire severe enough to damage the catalytic converter, and you should reduce speed and stop as soon as it is safe.

Will clearing the code fix the problem?

No. Clearing erases the stored code and turns the light off, but if the fault is still present the module detects it again and the light comes back, usually within a few drive cycles. Clearing also wipes the freeze frame data and resets the emission readiness monitors — so never clear codes just before an emissions test, or just before a mechanic looks at the car.

Why did my code come back after a week?

Because the cause was never repaired. Many monitors only run under specific conditions — a certain coolant temperature, a certain speed held for a certain time — so a code can take several days of ordinary driving to reappear. That delay is the car's self-test schedule, not a sign the problem went away.

Do I need a mechanic, or can I do this myself?

Reading the codes is genuinely a do-it-yourself job and costs far less than a diagnostic fee. Interpreting them and carrying out the repair is where a qualified mechanic earns their money — a code names a circuit or a condition, not a part to buy. The useful split is: you find out what the car is saying, then decide whether it is a fuel cap or a garage visit.

My code is not in this list. Where do I look it up?

CodeGuru ships with over 18,000 definitions — the full generic set plus manufacturer-specific codes for 33 makes — and they work offline, so you can look up a code at the roadside with no signal.

A note on what this guide is

This is general information about what OBD2 codes mean, not a repair instruction for your specific vehicle. A fault code names a condition a module noticed; the actual cause has to be confirmed by testing. If you are not confident working on a car, use the code to have a better conversation with a qualified mechanic.

← All guides