OBD-II CODE · POWERTRAIN · HIGH SEVERITY

P0300 — Random / Multiple
Cylinder Misfire Detected

Multiple cylinders are failing to fire correctly. One of the most urgent codes on a modern engine — a flashing check engine light means active damage is happening right now.

🛑 High Severity
📍 All cylinders — random
⚠️ Catalyst damage risk
🔗 Related: P0301–P0308
// 01 — Definition

What Does P0300 Mean?

CodeP0300
Full DefinitionRandom/Multiple Cylinder Misfire Detected
SystemIgnition / Fuel / Air — Combustion
SeverityHigh — risk of catalytic converter damage
CEL behaviourSolid or flashing — flashing = active misfire now
Common companionsP0301–P0308, P0171, P0174, P0101, P0128

A misfire occurs when a cylinder fails to produce a complete combustion event — the air/fuel mixture doesn’t ignite, ignites too late, or ignites unevenly. P0300 specifically means the PCM detected misfires that are either random across cylinders (no consistent cylinder pattern) or occurring in multiple cylinders simultaneously. This distinguishes it from cylinder-specific codes like P0301 (cylinder 1 only) through P0308.

The PCM detects misfires by monitoring crankshaft velocity — each cylinder contributes a small acceleration pulse to the crank. When a cylinder misfires, the expected crank acceleration is absent or reduced. The PCM counts these events per 200 and 1,000 revolution windows. When misfire rates exceed the catalyst damage threshold, the CEL flashes. When they exceed the emissions threshold, the CEL illuminates solid.

// 02 — Immediate Decision

Drive or Park?

Your CEL behaviour determines your next action

// Stop Driving — CEL Flashing

CEL is flashing right now — active misfire in progress
Rough idle, shaking, power loss, stumbling under load
Strong fuel or sulfur smell from exhaust
Multiple misfire codes alongside P0300
Misfires occurred during hard acceleration or at highway speed

// Diagnose Soon — CEL Solid

CEL is steady (not flashing), vehicle drives normally
P0300 is the only code stored, no drivability symptoms
Code stored as pending, not yet confirmed
Misfire occurred under a specific condition that no longer exists
Why a flashing CEL is a genuine emergency: When a cylinder misfires, unburned fuel enters the exhaust. The catalytic converter’s substrate reaches temperatures of 1,400°C+ as it burns this fuel — well above the 800°C it’s designed for. The ceramic substrate melts and collapses. This takes less than 20 minutes of active misfiring at highway speed to cause irreversible damage. A replacement catalytic converter costs $500–$2,500. Pulling over costs nothing.
// 03 — Symptoms

Symptoms of P0300

🔦
Check Engine Light — solid or flashing
Flashing CEL = active misfire. Solid CEL = detected but not currently active. Never ignore a flashing light.
🫨
Rough idle and engine shaking
The most immediately noticeable symptom. The engine vibrates noticeably at idle when one or more cylinders aren’t firing.
🐢
Loss of power and hesitation
Sluggish acceleration, stumbling under load, or the vehicle feels underpowered compared to normal.
Increased fuel consumption
Misfiring cylinders pass unburned fuel into the exhaust rather than converting it to power — MPG drops noticeably.
🔊
Backfires or popping from exhaust
Unburned fuel igniting in the exhaust pipe. More common with severe misfires or during deceleration.
💨
Fuel or sulfur smell from exhaust
Raw fuel smell indicates unburned mixture reaching the exhaust. Sulfur/egg smell means the catalyst is overheating.
🔑
Hard starting or stalling
If the misfire is severe enough, the engine may struggle to start cold or stall at idle when thermal or fuel conditions are marginal.
📉
Failed emissions test
Misfires cause significantly elevated HC (hydrocarbons) in exhaust emissions — P0300 will fail most OBD-II readiness checks.
// 04 — Common Causes

Common Causes of P0300

P0300 is different from a cylinder-specific misfire code because the misfires are random — they don’t stick to one cylinder. This pattern is a diagnostic clue. Random misfires across all cylinders almost always point to a fuel delivery, air/fuel mixture, or compression issue rather than a single faulty ignition component. Ignition faults (one bad coil or plug) tend to generate a cylinder-specific P030x code, not P0300.

💨

Air/Fuel Mixture Problems

Check First
1
Vacuum or intake air leak
The most common cause of random multi-cylinder P0300. An unmetered air leak leans out the mixture across all cylinders simultaneously. The PCM can’t correct for it fast enough, causing intermittent misfires. Look for cracked intake boots, disconnected vacuum hoses, failed intake manifold gaskets, or a cracked intake manifold. LTFT will typically be +10% or higher at idle.
2
EVAP purge valve stuck open
A purge valve that flows vapour at idle dumps a large amount of fuel vapour into the intake without the PCM compensating. This can cause a rich surge followed by a lean condition — triggering random misfires, especially at idle. Common on higher-mileage vehicles and often overlooked.
3
Dirty or faulty MAF sensor
A contaminated MAF sensor under-reports actual air mass, causing the PCM to deliver too little fuel across all cylinders. P0300 appearing alongside P0101 (MAF range/performance) is a strong indicator. Try cleaning the MAF sensor with MAF-specific cleaner before replacing it.

Ignition System Problems

Check Second
1
Worn or fouled spark plugs (all cylinders)
When multiple plugs are worn to similar mileage, they can all degrade close to the same threshold — producing random multi-cylinder misfires rather than a single-cylinder pattern. If the vehicle has over 60,000–80,000 miles and plugs haven’t been replaced, this is the most likely ignition cause.
2
Multiple failing ignition coils
On high-mileage engines, multiple coils can degrade simultaneously, particularly when they all share the same part number and installation date. Oil in plug wells (common on BMW, Toyota 2AZ-FE, Audi) can damage coils on multiple cylinders at the same time.
3
Oil or water in plug wells
A leaking valve cover gasket allows oil to fill the spark plug wells, contaminating plug boots and shorting out coils. This often affects multiple cylinders on the same bank. Common on Toyota 2AZ-FE, Honda J-series V6, and BMW N-series engines.

Fuel Delivery Issues

Check Second
1
Weak fuel pump or low fuel pressure
A pump that delivers adequate pressure at idle but drops under load causes lean misfires specifically during acceleration or at highway speed. The freeze frame RPM and load values are critical here — if the misfire occurred at high RPM and load, fuel pressure testing is essential.
2
Clogged fuel injectors (multiple)
Partially clogged injectors restrict fuel delivery unevenly across cylinders. More common on higher-mileage vehicles running low-grade fuel or with infrequent fuel filter changes. Can cause lean misfires that appear random because different injectors restrict at different loads.
3
Clogged fuel filter
A severely restricted fuel filter starves the entire fuel system under demand. Misfires occur specifically under load or at higher RPM when fuel demand exceeds what the filter allows through. If the filter hasn’t been replaced in 30,000–60,000 miles, replace it before testing the pump.
🔧

Mechanical Problems

Check Third
1
Low compression — multiple cylinders
Worn rings, valve problems, or timing issues causing low compression across multiple cylinders. A compression test showing uneven or low readings (below 130 PSI on most engines, or more than 15% variance between cylinders) points here. Usually associated with high mileage and/or overheating history.
2
Timing chain stretch or timing fault
A stretched timing chain retards cam timing, reducing volumetric efficiency across all cylinders — producing random low-load misfires. Often accompanied by P0016 or P0011 codes. Characteristic rattling or chirping on startup (especially cold) is a telltale sign on high-mileage engines with poor oil change history.
3
Head gasket failure (early stage)
A failing head gasket can introduce coolant into the combustion chamber, causing misfires that are often intermittent at first. Look for white exhaust smoke on cold starts (that doesn’t clear), coolant loss without visible external leak, and creamy residue under the oil cap.
📡

Sensor & Control Issues

Check Last
1
Crankshaft position sensor (CKP) fault
The CKP sensor is how the PCM detects misfires — it reads the crankshaft reluctor wheel. A weak or intermittent CKP signal can cause the PCM to falsely log misfires across multiple cylinders when none actually exist. Usually accompanied by hard-start conditions or stalling.
2
Camshaft position sensor fault
On sequential injection engines, a failing cam sensor can disrupt injector timing enough to cause misfires. Will often also set P0340 or P0345.
// 05 — Misfire Pattern Guide

What Your Misfire Pattern Is Telling You

The when and how of a misfire is often more informative than the code itself. Use freeze frame data and your own observations to match the pattern.

Misfire Pattern → Most Likely Cause

Match your symptoms to narrow the diagnosis before touching any parts.

Rough idle only, clears when driving
Vacuum leak or EVAP purge valve stuck open. Unmetered air at idle destabilises the A/F mixture. MAF and fuel pressure are usually normal at highway speed. Check LTFT at idle — should be close to 0%, anything above +8% indicates a lean condition at idle.
Misfire only under load / acceleration
Fuel pressure, fuel filter, or injector issue. The system can’t deliver enough fuel when demand rises. Freeze frame will show high RPM and high engine load. Test fuel pressure under snap throttle — should hold above 45–55 PSI on most systems.
Misfire on cold start, clears when warm
Coolant temp sensor, cold-start enrichment issue, or early head gasket. The ECU relies on coolant temp to calibrate cold-start fuel enrichment. A bad ECT sensor can cause a lean cold-start misfire. White exhaust smoke that clears when warm can also indicate coolant intrusion.
Consistent misfire at all RPM / conditions
Multiple worn spark plugs, multiple failing coils, or low compression. When misfires occur at all loads and speeds, the ignition system is overwhelmed. Check plugs first — if they’re worn across all cylinders at 80k+ miles, replace the set. Compression test if plugs and coils check out.
Misfire after recent work (coils, plugs)
Installation error, incorrect part, or cross-threaded plug. A misfire immediately after a tune-up often means a plug that isn’t fully seated, a damaged coil boot, or an incorrect plug gap. Recheck all recent work before assuming a new fault.
Misfire with white exhaust smoke
Head gasket failure or coolant intrusion. Coolant entering combustion chambers causes misfires and produces white steam from the exhaust. If the coolant level is dropping without an external leak, have a block test (combustion gas test) performed on the coolant system.
Misfire with blue exhaust smoke
Oil burning — worn rings, valve stem seals, or PCV system. Oil entering the combustion chamber fouls plugs and disrupts ignition. Blue smoke on startup (clears after a minute) indicates valve stem seals. Continuous blue smoke indicates rings. Either condition can produce P0300.
// 06 — Diagnosis Steps

How to Diagnose P0300 — Step by Step

Follow this sequence. Each step builds on the last — don’t skip to a later step until the earlier ones are cleared.

1
Read all codes — stored, pending, and permanent
P0300 almost always appears with companions. P0301–P0308 alongside P0300 means both random and specific cylinders are affected — focus on the specific cylinder first. P0171/P0174 with P0300 means a lean condition is causing the misfire — fix the lean condition first. P0101 with P0300 points to the MAF sensor as the root cause.
2
Read freeze frame data
Record RPM, engine load, coolant temp, STFT, and LTFT at the time of the fault. High load + high RPM = fuel delivery issue. Idle conditions = air leak or purge valve. Cold engine temp = cold-start enrichment problem. See the Freeze Frame Guide section below.
3
Check fuel trims (LTFT & STFT)
LTFT above +8% at idle = lean condition. This is the single most important live data parameter for P0300 diagnosis. A lean condition from a vacuum leak or MAF issue is the most common cause of random misfires and is far cheaper to fix than ignition components. Read trims at idle and at 2,500 RPM — a trim that normalises at cruise but is lean at idle points to an idle air leak.
4
Inspect spark plugs
Remove and inspect all plugs. Look for: worn electrode (gap wider than spec), fouled tip (black carbon = rich, white/grey = lean, oily = oil burning), cracked porcelain, or a plug that’s cracked or broken at the tip. Check gaps with a feeler gauge — most modern engines run 0.035″–0.044″ but always verify for your engine.
5
Perform the coil swap test
Swap one coil to a different cylinder. If a P030x cylinder-specific code moves to the new cylinder, the coil is faulty — replace it. If the misfire code stays on the same cylinder, the coil is fine and the problem is the plug, injector, or compression on that cylinder. See the detailed coil swap guide below.
6
Check fuel pressure
Connect a fuel pressure gauge and test at idle, then snap throttle. Pressure should hold within spec (typically 45–60 PSI depending on the system) and should not drop significantly under a brief full-throttle snap. A drop of 10+ PSI under load indicates a weak pump. Pressure that rises and falls with vacuum line removed indicates a failed fuel pressure regulator.
7
Inspect for vacuum and intake air leaks
With the engine at idle, spray a small amount of carb cleaner or throttle body cleaner around all vacuum hose connections, intake boot clamps, the intake manifold gasket, and the throttle body gasket. An RPM change when you spray a specific spot confirms a leak at that location. A smoke machine is the most thorough method.
8
Compression test (if previous steps clear)
A wet/dry compression test on all cylinders. Acceptable range varies by engine, but generally: all cylinders should read above 130 PSI with no more than 15% variance between the lowest and highest. A low reading that improves with a shot of oil (wet test) = worn rings. A low reading unchanged with oil = valve issue. Two adjacent cylinders both low = head gasket.
// 07 — The Coil Swap Test

Coil Swap Test — Fastest Way to Isolate the Fault

The coil swap test lets you confirm whether a misfire is following the coil (ignition fault) or staying on the same cylinder (plug, injector, or compression fault). It requires no special tools and takes 5 minutes.

How to Perform the Coil Swap Test

Requires: OBD2 scanner that shows live misfire data or individual cylinder misfire counts

1
Read and record all active misfire codes
Note which cylinder code(s) are present alongside P0300 (e.g. P0302 = cylinder 2 is the primary misfire). If you only have P0300 with no specific cylinder, watch live misfire counts per cylinder on your scanner to find which one is misfiring most.
2
Swap the suspect cylinder’s coil to a known-good cylinder
With the engine cold, unplug and physically swap the coil from the misfiring cylinder (e.g. cyl 2) to an adjacent known-good cylinder (e.g. cyl 4). This takes 2 minutes. No tools needed on most COP (coil-on-plug) engines — the coils just pull off.
3
Clear codes, start the engine, and drive normally for 5–10 minutes
Give the PCM time to re-detect the fault under the same conditions that originally triggered it. If the misfire was intermittent, you may need to replicate the conditions (e.g. light load, highway speed) that triggered it.
4
Read the new codes
✓ Misfire moved to new cylinder (cyl 4)The coil is bad. The fault followed the coil to its new location. Replace the coil that was originally in the misfiring cylinder. This is the most common outcome — coils are the #1 ignition failure on modern COP systems.
✗ Misfire stayed on original cylinder (cyl 2)The coil is not the problem. The fault is specific to that cylinder location — check the spark plug, fuel injector, and compression on cylinder 2. The coil is fine.
Note on P0300 vs P030x: If only P0300 is stored (no cylinder-specific code), the PCM may not have been able to identify a single cylinder. Use a scanner that shows live misfire counts per cylinder — this data is available on most mid-range scanners and lets you see which cylinder is accumulating the most misfires in real time.
// 08 — Freeze Frame Data Guide

How to Read Freeze Frame for P0300

Freeze frame captures the engine conditions at the exact moment the PCM logged the fault. For misfire diagnosis, these are the parameters that matter most.

Key Freeze Frame Parameters — P0300

What each value means in the context of a misfire diagnosis

RPM
Engine speed when fault occurred
Idle RPM (600–900): points to vacuum leak, EVAP purge, or idle air control. Mid RPM (1,500–3,000): fuel delivery or ignition. High RPM (3,000+): fuel pump capacity, injector flow, or ignition under load.
LOAD %
Engine load at time of fault
Low load at idle: vacuum leak or purge valve. High load + high RPM: fuel delivery issue. High load at any RPM: coils or plugs failing under demand. Misfire at low RPM but only at high load = compression issue.
LTFT B1/B2
Long-term fuel trim at time of fault
The most diagnostic single value. LTFT above +8%: lean condition — vacuum leak, MAF, or low fuel pressure. LTFT below -8%: rich condition — leaking injectors, high fuel pressure, failing upstream O2. LTFT near 0%: fuel trim is correct, fault is likely ignition or mechanical.
STFT B1/B2
Short-term fuel trim (real-time correction)
STFT swinging wildly (±10%+) indicates the PCM is actively fighting a fluctuating A/F mixture — strong indicator of a vacuum leak or purge valve issue. STFT at maximum correction (+25%) means the PCM has hit its limit and can’t compensate.
ECT °F/°C
Coolant temperature when fault occurred
Cold temperature (below 150°F): cold-start enrichment issue, coolant temp sensor fault, or head gasket (coolant in combustion). Fully warm (180–210°F): eliminates cold-start causes — focus on ignition, fuel, and air delivery.
MAP/MAF
Air mass or manifold pressure reading
MAF reading significantly lower than expected for the RPM/load conditions at the time of the fault points to a failing or dirty MAF sensor. MAP pressure higher than expected at idle indicates a vacuum leak affecting manifold pressure.
// 09 — Repairs

How to Fix P0300

Fixes are listed in the order they should be attempted — start with the highest-probability and lowest-cost repairs before moving to more involved work.

RepairWhen It’s the Right FixDIY?
Fix vacuum or intake air leakLTFT above +8%, lean codes present, misfire worse at idle than cruiseYes — hoses and boots are DIY-friendly
Replace all spark plugsPlugs are worn, gapped incorrectly, fouled, or over 60k–80k milesYes — basic DIY on most engines
Replace ignition coil(s)Coil swap test confirms coil fault; oil in plug wells; coils cracked or arcingYes — COP coils are typically plug-and-play
Clean MAF sensorP0101 present, lean codes, MAF data erratic — try cleaning before replacingYes — $8 can of MAF cleaner
Replace MAF sensorCleaning didn’t resolve P0101, MAF waveform confirms faultYes — typically 2 bolts and a connector
Fix EVAP purge valveMisfire only at idle, rough idle, LTFT lean, no other causes foundYes on most vehicles
Replace valve cover gasketOil in plug wells, oil visible at plug boots, oil smell in engine bayModerate — 1–2 hours typical
Fuel injector service/cleaningMisfires under load, lean trims, fuel pressure normalModerate — off-car cleaning or additive
Test and replace fuel pumpPressure drops under load, misfires at high RPM only, pump noisyModerate — in-tank pump requires drop the tank
Compression and mechanical repairCompression low, timing chain worn, head gasket suspectedProfessional service recommended
Don’t just replace parts cannon-style. P0300 with a positive LTFT and no cylinder-specific code almost always means an air or fuel delivery issue — not a coil or plug failure. Replacing $200 worth of coils and plugs on a vehicle with a $15 vacuum hose leak will not fix the misfire. Follow the diagnostic sequence above before ordering parts.
// 10 — Repair Cost Estimates

P0300 Repair Cost Estimates

RepairParts CostLaborTotal Estimate
MAF sensor cleaning$8–$15DIY$8–$15
Vacuum hose / intake boot$10–$60DIY–$80$10–$140
EVAP purge valve$20–$80DIY–$80$20–$160
Spark plugs (full set)$30–$150$50–$200$80–$350
Ignition coil (single)$30–$120$50–$100$80–$220
Ignition coil (full set)$100–$400$100–$200$200–$600
MAF sensor replacement$60–$250$50–$100$110–$350
Valve cover gasket$20–$80$80–$250$100–$330
Fuel injector cleaning (off-car)$80–$150$100–$200$180–$350
Fuel pump replacement$150–$500$150–$400$300–$900
Timing chain kit$200–$600$500–$1,500$700–$2,100
Head gasket repair$200–$600$800–$2,500$1,000–$3,100

Costs vary significantly by vehicle make, model, and region. These ranges reflect typical US independent shop pricing. Dealership labor typically runs 30–50% higher. DIY parts costs are the lower end of the parts range.

🤖

Getting P0300 on a Specific Vehicle?

Tell our free AI Diagnostic tool your vehicle, any companion codes, and what freeze frame showed — it will identify the most likely root cause and what to check first for your exact situation.

⚡ Free AI Diagnostic
// 11 — FAQs

Frequently Asked Questions

P0300 means the PCM detected misfires occurring randomly across multiple cylinders — it can’t (or won’t) attribute them to a single cylinder. P0301 through P0308 mean a misfire was detected specifically on cylinders 1 through 8 respectively. Getting both P0300 and P030x codes together is common — the specific code tells you which cylinder is worst, while P0300 indicates the problem extends beyond just that one. When both are present, focus diagnosis on the specific cylinder code first.
It depends on the CEL behaviour. If the check engine light is flashing, do not drive — pull over safely and have the vehicle towed or at minimum reduce to the absolute minimum speed to get to a safe stopping point. A flashing CEL means an active misfire is happening now and catalytic converter damage is accumulating with every mile. If the CEL is steady and the vehicle drives without obvious symptoms, you can drive carefully to a shop, but diagnose it as soon as possible — conditions that triggered the code can return and worsen.
Yes — and it’s one of the most common causes, especially on higher-mileage vehicles. A vacuum leak introduces unmetered air into the intake, leaning out the A/F mixture across all cylinders simultaneously. The PCM attempts to compensate via fuel trims, but if the leak is large enough or the trim correction is maxed out, the mixture becomes too lean to support stable combustion and misfires result. The giveaway is LTFT above +8% alongside P0300 — that combination almost always means a vacuum leak is involved rather than an ignition component failure.
Because the root cause was not the ignition system. P0300 that returns immediately after new plugs and coils almost always has an underlying cause that parts replacement didn’t address — typically a vacuum leak, EVAP purge valve issue, MAF sensor fault, or fuel delivery problem. The new parts fire correctly, but the air/fuel mixture is still being disrupted by the underlying fault. Check fuel trims with the new parts installed — if LTFT is still above +8%, the lean condition that’s causing the misfires is still present.
Catalyst damage from an active misfire can occur in as little as 5–20 minutes of sustained highway driving with a severe misfire. At idle the damage accumulates more slowly, but it still accumulates. The PCM flashes the CEL specifically when the misfire rate exceeds the catalyst damage threshold — that’s the threshold built into the software based on converter damage data. Once the substrate melts, the converter cannot be repaired — it must be replaced at a cost of $500–$2,500 depending on the vehicle.
P0300 stored as the only code, with no drivability symptoms, often indicates an intermittent or mild misfire that occurred under a specific condition — typically a brief lean event, a momentary electrical glitch (e.g. weak battery causing voltage drop during cranking), or a one-time fuel delivery hiccup. Check if the code is stored or pending. Check fuel trims for any lean or rich bias. If everything looks normal and the code doesn’t return after a full drive cycle, monitor it. If it does return, use the freeze frame data to identify the conditions that triggered it and test from there.
// Found this useful? Share it