P0456: EVAP System Leak Detected (Very Small Leak)
P0456 means the car's evaporative emission (EVAP) system, which traps fuel vapor from the tank, has a very small leak of about 0.020 in (0.5 mm). It does not usually affect how the car drives, but it turns on the check engine light and will keep the car from passing an emissions inspection until it is fixed.
You can keep driving
The data lists no limp mode for this code, and a very small vapor leak does not stop the car from running. Fix it in a reasonable time, since the check engine light stays on, the car will fail an emissions inspection, and a fuel smell is possible.
What it means
The EVAP system stores fuel vapor from the tank in a charcoal canister. A purge valve lets the engine draw that vapor off to burn it, and a vent valve opens the canister to fresh air. The engine computer tests the sealed system for leaks, and P0456 is set when it finds a leak the size of a 0.020 in (0.5 mm) hole, the smallest size emissions rules require it to detect. Test methods differ by manufacturer. Ford checks whether the closed system builds a small pressure or vacuum after the engine is switched off, and Saab tests with the engine off for up to 45 minutes. VW and Audi use a leak detection pump. GM reports this leak size as P0442 instead. Because the leak is so small, the code often appears only after many trips and can depend on the weather.
Likely causes
- Fuel cap seal worn or cap not clicked inVery likely
A worn seal or a cap that is not fully tightened lets vapor escape from the sealed system, and this is the most common source of a leak this small.
- Purge or vent valve not sealingPossible
If either valve does not close fully, the system cannot hold pressure or vacuum during the leak test.
- Porous hoses or O-rings, hairline crack in canister or filler neckPossible
Aging rubber and tiny cracks can leak just enough vapor to trip the smallest-leak test.
- Leak detection pump itself leaking (VW/Audi)Less likely
On VW and Audi the pump pressurizes the system for the test, so a leak in the pump makes the whole system appear to leak.
What you may notice
- Check engine light on, possibly with a check fuel cap message
- Possible fuel smell
- EVAP readiness not complete, or emission inspection not passed
What to check, cheapest first
- 1Remove the fuel cap, inspect the seal for wear or damage, then refit it until it clicks. · you can do it
- 2Replace the fuel cap if the seal looks worn, clear the code, and drive normally for several days, since the system needs repeated trips to retest. · you can do it
- 3Look at the visible EVAP hoses and the filler neck for cracks, loose connections, or hardened rubber. · you can do it
- 4Read the stored code and freeze-frame data (the conditions recorded when the code was set), and check for related codes such as P0442, P0455, or P0457. · mechanic
- 5Test the purge valve and vent valve to confirm each one closes and seals. · mechanic
- 6Run a smoke test, which pushes harmless smoke through the system to show where vapor escapes, and check the canister, O-rings, and leak detection pump if fitted. · mechanic
Related codes
Frequently asked questions
Can I drive with a P0456 code?+
Yes. The leak is very small and the data lists no limp mode for this code. Have it fixed soon, because the check engine light stays on and the car will not pass an emissions inspection.
Can a loose or worn gas cap cause P0456?+
Yes. A worn cap seal or a cap that is not clicked in is the most likely cause. Check and replace it first because it is the cheapest fix.
Will P0456 pass an emissions test?+
No. The code is emissions-relevant, and the EVAP readiness check may also remain incomplete. Repair the leak and finish a drive cycle, meaning enough normal trips for the system to retest, before the inspection.
Why did the light come back after I tightened the cap?+
The test for this small leak can take many trips and depends on the weather. The light may take days to clear, and it returns if the leak is still there.
Written with the help of AI from the public OBDex definition (CC0). Each make may use the code differently. Updated: 2026-11-10