What the check engine light means and what to do first
The check engine light tells you that your vehicle's onboard diagnostic system has detected a problem with the engine, emissions system, or transmission. It does not mean your engine is about to fail — it means a sensor or system has triggered a code that needs investigation. The light appears as a small engine symbol on your dashboard, usually amber or yellow, and it stays on until the problem is fixed and the code is cleared.
When the light comes on, your first step is to check whether the car is running normally. If it is driving smoothly with no unusual sounds, smells, or performance changes, you can continue driving to a repair shop at normal speeds. If the car is misfiring, overheating, making grinding noises, or losing power, pull over safely and have it towed rather than driving it further.
The check engine light is triggered by one or more diagnostic trouble codes (DTCs) stored in your vehicle's computer. These codes are five-character alphanumeric strings — for example, P0300 or P0420 — and each one points to a specific system or component. You cannot see the code just by looking at the light; you need a diagnostic scanner to read it.
Key Takeaways
- A check engine light means your vehicle's computer detected a problem code, but does not tell you what the problem is without a scanner reading the code.
- You can read the code yourself with a basic OBD-II scanner (around $25 to $100), or a repair shop will read it for free or for a small diagnostic fee.
- Common codes like P0300 (random misfire), P0420 (catalytic converter), and P0171 (fuel system) account for a large share of check engine lights.
- Some codes require when ready attention (like overheating or severe misfires), while others allow you to schedule a repair within a few days or weeks.
- Once the repair is complete, the code must be cleared from the computer, either by the repair shop or by disconnecting the battery for 15 minutes.
How to read the code yourself with a scanner
An OBD-II scanner is a handheld device that plugs into your vehicle's diagnostic port and reads the codes stored in the computer. The port is usually located under the steering wheel or on the driver's side of the dashboard, and it looks like a rectangular connector with 16 pins. Most vehicles made after 1996 have this port and use the same OBD-II standard, so any OBD-II scanner will work on your car.
Basic scanners cost between $25 and $100 and can read and display the code number and a brief description. More advanced scanners (sometimes called code readers or diagnostic tools) cost $150 to $500 and may show live sensor data, freeze frame information, or the ability to clear codes yourself. For a one-time diagnosis, a basic scanner is usually enough.
To read the code: turn the ignition to the "On" position without starting the engine, plug the scanner into the diagnostic port, and follow the scanner's menu to read codes. Write down the exact code number (for example, P0171) and any description the scanner provides. Then search that code online or in a repair manual to understand what system it refers to and what might cause it.
Common check engine codes and what they mean
Some codes appear far more often than others. P0300 (random cylinder misfire) usually points to a faulty spark plug, ignition coil, fuel injector, or low fuel pressure. P0420 (catalyst system efficiency below threshold) typically means the catalytic converter is failing or the oxygen sensor is bad. P0171 (system too lean) suggests a fuel leak, bad fuel injector, or faulty mass airflow sensor.
P0101 (mass airflow sensor range/performance) often means the MAF sensor is dirty or failing. P0128 (coolant thermostat) indicates the thermostat is not opening and closing correctly. P0335 (crankshaft position sensor) means the sensor that tells the computer engine speed is faulty. These six codes account for a large portion of check engine lights, though hundreds of other codes exist.
The code number itself does not always point to a single cause. P0300, for instance, can be triggered by a bad spark plug in one cylinder, a vacuum leak affecting all cylinders, or low fuel pressure. A repair technician uses the code as a starting point and then tests components to narrow down the actual problem.
When to drive to a repair shop and when to stop when ready
If the check engine light is solid (not flashing) and the car is running normally, you can drive to a repair shop within the next few days. A solid light means the problem is not severe enough to damage the engine right now, though you should not ignore it indefinitely.
If the light is flashing, stop driving when ready and have the car towed. A flashing check engine light means the engine is misfiring badly enough to damage the catalytic converter or other components. Continuing to drive can turn a $200 repair into a $1,000 one. Similarly, if the car is overheating, losing power, making grinding noises, or smelling like burning rubber or rotten eggs, pull over and call for a tow truck.
If you are far from home when the light comes on and the car is running smoothly, you can usually drive to the nearest repair shop or even home at normal highway speeds. Just avoid hard acceleration or towing, and have the code read as soon as possible so you know whether the problem is urgent.
Where to get the code read for free or low cost
Many auto parts retailers — including AutoZone, O'Reilly Auto Parts, Advance Auto Parts, and NAPA — offer free code-reading services. You drive to the store, a staff member plugs a scanner into your vehicle in the parking lot, and you get the code number and a printout. This takes 10 to 15 minutes and costs nothing.
Independent repair shops often charge $50 to $150 for a diagnostic fee, which may be waived if you have them perform the repair. Dealerships typically charge $100 to $200 for diagnostics. If you want to know the code before committing to a repair, the free service at an auto parts store is your fastest option.
If you plan to do the repair yourself, reading the code at an auto parts store gives you the information you need to research the problem online and decide whether it is something you can handle or whether you need professional help.
Understanding freeze frame data and pending codes
Freeze frame data is a snapshot of your vehicle's operating conditions at the moment the code was triggered. It includes engine speed, throttle position, fuel pressure, and other sensor readings. Some scanners display this data, and it can help a technician understand what was happening when the problem occurred. For example, if P0171 (system too lean) was triggered while you were accelerating hard, it points to a different cause than if it happened at idle.
Pending codes are codes that have been triggered once or twice but have not yet turned on the check engine light. They appear in the scanner as "pending" or "intermittent" codes. If you see a pending code, it means the problem is happening occasionally but not consistently enough yet to illuminate the light. Pending codes can clear themselves if the problem does not happen again within a certain number of drive cycles (usually 40 to 80 miles of normal driving).
If you see both a stored code (the one causing the light) and a pending code, the pending code may be related to the same problem or a separate issue developing. A technician can use this information to prioritize repairs.
How to clear the code after repair
Once the underlying problem is fixed, the code must be cleared from the computer so the check engine light turns off. A repair shop will clear the code as part of the repair process, usually by connecting a scanner and selecting the clear or erase option. Some advanced scanners sold to consumers also have a clear function.
If you do the repair yourself, you can clear the code with a scanner that has the clear function, or you can disconnect the negative battery terminal for 15 minutes to reset the computer. Disconnecting the battery will clear all codes and reset all computer settings, so use this method only if you are certain the repair is complete.
After clearing the code, the check engine light should turn off within a few seconds or after you restart the engine. If the light comes back on when ready, the problem was not fully fixed or a new problem has developed. If it stays off for several days of normal driving, the repair was successful.
Frequently Asked Questions
Can I drive with the check engine light on?
If the light is solid and the car is running normally, yes — you can drive to a repair shop within the next few days. If the light is flashing, the engine is misfiring and you should stop driving and have the car towed. If the car is overheating, losing power, or making unusual noises, pull over when ready regardless of whether the light is solid or flashing.
What does a flashing check engine light mean?
A flashing light means the engine is misfiring severely, which can damage the catalytic converter and other components. Stop driving and have the car towed to a repair shop. Do not continue driving, even at low speeds, because the damage will worsen.
Will the check engine light go away on its own?
No. The light will stay on until the code is cleared from the computer, which requires either fixing the problem and clearing the code with a scanner, or disconnecting the battery. straightforward ignoring the light does not make it go away, and the underlying problem may worsen over time.
How much does it cost to fix a check engine light?
The cost depends entirely on what the code means. A faulty spark plug might cost $50 to $200 to replace, while a catalytic converter can cost $400 to $1,200. Reading the code first tells you what the problem is, so you can get a repair estimate before committing to the work.
Can a loose gas cap cause a check engine light?
Yes. A loose or missing gas cap can trigger code P0455 (evaporative emission system leak). Tighten the cap, drive for a few miles, and the code may clear itself. If the light stays on after tightening the cap, the problem is something else and you should have the code read.