If your check engine light is on but the scanner shows no code, the problem is almost always the reader, the connection, or the light you're looking at, not a fault with no code. California's OBD regulation requires a confirmed trouble code to be stored whenever the light comes on, so a lit light with nothing stored is a clue in itself.
Key takeaways
- A lit light should always have a code. California's OBD rule requires a confirmed code within 10 seconds of the light turning on.
- Rule out the easy things first: a different warning light, ignition off, a loose plug or a tool that never linked.
- Read every list. Stored, pending and permanent codes come from different requests. A basic tool may show only one.
- A light that stays on with truly nothing stored suggests a fault in the light circuit or engine computer. That needs a shop with a full scan tool.
- Flashing light? Stop anyway. See check engine light flashing.
Why "No Code" Is Unusual
The check engine light isn't a general warning lamp the manufacturer can use however it likes. California's OBD regulation says the light "may not be used for any purpose other than" those the regulation specifies. When the system turns it on for a fault, "a confirmed fault code shall be stored within 10 seconds."
That code has to be readable through the standard diagnostic connector with a generic scan tool. So if the light is on and you get nothing, the useful question isn't "what fault has no code?" It's "why didn't I see the code that's there?"
The steps below go from the most likely answer to the least.
Step 1: Make Sure It's the Check Engine Light
Dashboards carry many amber lights, and several look alike at a glance. Check your owner's manual for the exact symbol your car uses for the malfunction indicator lamp, usually an engine outline, sometimes with "Check" in it.
Lights that are easy to confuse with it include maintenance reminders, traction or stability control, tire pressure and, on some cars, a separate powertrain or transmission warning. A generic OBD-II reader won't explain those lights, because they aren't reported through the emissions code list.
Also check *when* the light is on. The New York State inspection program describes normal behavior: the check engine light comes on when you turn the key toward start, and "a few seconds after the engine starts" the engine computer turns it off. If you're reading the tool with the key on and the engine off, the light being on is the bulb check, not a fault.
Step 2: Make Sure the Reader Really Connected
A reader that shows "no codes" and a reader that never talked to the engine computer can look the same on a cheap screen. Before trusting a blank result:
- Turn the ignition to ON (or start the engine, if the tool's instructions say so). Many tools can't talk to the car with the key off.
- Seat the plug firmly. The connector is low in the driver's footwell. A half-seated plug can power the tool without linking.
- Look for a link message. Most tools show the protocol or a "linking" step. If yours shows an error or times out, the scan didn't happen.
- Try a second tool if you can. A different reader rules out a tool or app problem.
If no tool can connect at all, the problem may be with the diagnostic connector's power, the car's data network, or the engine computer. That's a shop job, and it's worth fixing: most OBD inspections need that connection to work.
Step 3: Check Which Codes the Tool Read
OBD-II keeps several separate lists, and a tool has to request each one:
| List | What it holds |
|---|---|
| Stored (confirmed) codes | Faults confirmed by the computer. These are the ones behind a lit light |
| Pending codes | Faults seen once, during the current or last drive, and not yet confirmed (California's rule calls this request Mode $07) |
| Permanent codes | Confirmed codes that a scan tool can't erase |
A lit light should come with at least one stored code. If your tool shows only pending codes, or only "permanent," you may be looking at the wrong list. Our guide on pending, stored and permanent codes explains each.
Also consider that someone may have just cleared the codes. Clearing turns the light off, so if it's back on with nothing stored, rescan after the next drive. A fault that's still there will set its code again.
Other modules. Generic OBD-II tools read the engine's emissions codes. Transmission, ABS, airbag and body systems keep their own codes, which often need a more capable scan tool. On some cars, the engine computer sets P0700 to say "the transmission module has a code too," and you need a tool that reads the transmission module to see it.
If the Light Stays On With Nothing Stored
If you've confirmed it's the check engine light, the tool truly connected, and every list is empty, the remaining possibilities are less common but more serious for the electronics:
- A communication fault between the instrument cluster and the engine computer. For 2010 and newer models, California's OBD rule requires the light to default to on if the cluster can no longer receive the engine computer's requests, and it says no fault code has to be stored for that case. This is the one built-in situation where the light is on with no code.
- An engine computer problem. A computer that can't run its self-tests or store codes properly needs professional diagnosis.
Either way, a shop with a full scan tool can read the instrument cluster and network modules, which a generic reader can't.
When It's More Urgent
"No code" doesn't mean "nothing wrong." Don't let a blank screen talk you out of acting on what the car is doing.
- A flashing light means an active misfire, whatever the reader says. Federal rules tie the blinking light to misfire severe enough to damage the converter. See check engine light flashing.
- Rough running, stalling, power loss, overheating or a fuel smell are reasons to have the car inspected now.
- A light that never comes on at key-on is also a fault. California's Smog Check requires the light to come on with the key on and engine off, and New York's inspection fails a car whose bulb check doesn't work.
For what the light normally means and how codes break down by system, see the main check engine light guide.
Questions drivers ask
Can the check engine light be on with no codes?
It shouldn't be. California's OBD regulation requires a confirmed trouble code to be stored within 10 seconds of the light turning on. When a reader shows nothing, the usual explanations are a reader that didn't connect, a different warning light, or a fault in the light circuit or engine computer itself.
Why does my scanner say no codes when the check engine light is on?
Check that the ignition is on, the plug is fully seated and the tool actually linked to the engine computer. Then check whether it read pending and permanent codes as well as stored ones. Some basic readers show only one list.
Is the check engine light coming on at startup a problem?
No. The light is supposed to come on when you turn the key and go out a few seconds after the engine starts. That's a bulb check. A problem is the light staying on with the engine running, or never coming on at key-on.
What if the light is flashing but there's no code?
Treat a flashing light as a stop sign regardless of what the reader says. It signals an active misfire that can damage the catalytic converter. Pull over safely and have the car checked.
Sources & further reading
- law.cornell.edu — 13 CCR 1968.2 https://www.law.cornell.edu/regulations/california/13-CCR-1968.2 Open source ↗
- nyvip3.com — CheckEngineLight https://nyvip3.com/OBDII/CheckEngineLight Open source ↗
- bar.ca.gov — Obd Test Reference https://www.bar.ca.gov/obd-test-reference Open source ↗
- California Air Resources Board (CARB) — Attacha https://ww2.arb.ca.gov/sites/default/files/barcu/regact/obd02/attacha.pdf Open source ↗
- govinfo.gov — CFR 2012 Title40 Vol20 Sec86 1806 05 https://www.govinfo.gov/content/pkg/CFR-2012-title40-vol20/pdf/CFR-2012-title40-vol20-sec86-1806-05.pdf Open source ↗