Fuel Trim Calculator

Short-term and long-term fuel trim only mean something added together, and only when you compare idle against cruise. Enter the four numbers off your scan tool to get total correction at each point, the lambda your base fuelling would have run without it, and what that pattern usually points at.

Scan tool readings

%
%
%
%

Total correction

Both operating points will be plotted against the usual bands.

Total at idle
STFT + LTFT
Total at cruise
STFT + LTFT
Load shift
cruise − idle
λ without the trim
what the base map was asking for

What a fuel trim is

In closed loop, the ECU does not trust its own fuel map. It watches the oxygen sensor, sees whether the exhaust came out richer or leaner than stoichiometric, and corrects the injector pulse width to bring it back. That correction, expressed as a percentage, is the fuel trim — positive means adding fuel because the mixture is lean, negative means taking it away.

Short-term trim (STFT) is the live correction. It swings a few percent either side of zero several times a second as the sensor switches, and it forgets everything when you switch off. Long-term trim (LTFT) is what the ECU has learned: when STFT sits consistently off-centre, the ECU moves that offset into long-term memory so short-term can go back to hovering around zero. LTFT survives a key cycle and is stored in load and rpm cells, which is why the number changes between idle and cruise.

Always read them added together

This is the mistake that sends people chasing the wrong fault. An LTFT of +18% with STFT at −2% is not "mostly fine" — the total correction is +16%, and the engine is running on a base fuelling that is well out. Equally, LTFT at 0% with STFT swinging +20% is not healthy; it means the fault is too new or too erratic for the ECU to have learned it yet.

total trim = STFT + LTFT

As a rule of thumb: under ±5% is normal, ±5–10% is worth explaining, ±10% or more is a fault in progress, and most ECUs set a code somewhere around ±25%. Those code thresholds are why a car can run visibly badly with no light on the dash.

Idle versus cruise is the diagnostic

One reading is a number; two readings at different airflows are a diagnosis. The reason is arithmetic. An unmetered air leak — a split intake hose, a leaking gasket, a stuck PCV valve — lets in roughly a fixed mass of air. At idle the engine might be breathing 4 g/s, so a 0.5 g/s leak is 12% of everything going in. At cruise it may be breathing 20 g/s, and the same leak is under 3%.

So a leak shows up as lean at idle, near-normal at cruise. A fuel-delivery problem behaves the other way: a tired pump, clogged filter or undersized injectors keep up fine at idle and fall behind as demand rises, so the trims get worse with load. A mass-airflow sensor reading low across its range, or a fuel-pressure regulator that has lost vacuum reference, tends to push both points the same way.

PatternUsually meansCheck first
Lean at idle,
normal at cruise
Unmetered air after the MAFIntake boot splits, intake manifold gasket, PCV and brake-booster hoses, dirty throttle body, injector seals
Lean everywhereGlobal lean — measurement or deliveryMAF contamination or under-reading, fuel pressure under load, exhaust leak upstream of the sensor, restricted filter
Lean worse
with load
Fuel delivery running outPump and filter, injector flow, regulator, voltage at the pump under load
Rich everywhereOver-fuellingFuel pressure high, leaking injector, MAF over-reading, restricted air filter, contaminated engine oil
Rich at idle,
normal at cruise
Extra fuel that only matters at low airflowEVAP purge valve stuck open, leaking injector, high fuel pressure, dripping fuel-pressure regulator
One bank onlySomething bank-specificThat bank's sensor and wiring, an exhaust leak on that side, a gasket on that side. A global cause cannot do this

What the trim implies about lambda

A total trim of +15% means the ECU had to add 15% more fuel than the base map wanted in order to hit stoichiometric. Uncorrected, the engine would have been running around λ 1.15 — about 16.9:1 on petrol. That is the honest way to state a trim: not "it's 15% out" but "your base fuelling is a sixth short of what the air needs".

The conversion runs both ways and the AFR ↔ lambda converter will put it in whatever units your wideband speaks. Remember that a lean λ on petrol is not the same danger as a lean λ on E85 — the lambda is what matters, the AFR number is fuel-specific.

Where trims stop being useful

Fuel trims exist only in closed loop. At wide-open throttle the ECU switches to open loop and runs its power map with the oxygen sensor ignored, so trims freeze or are only partially applied. A car that trims perfectly at cruise can still be dangerously lean at full load, and the only instrument that will tell you is a wideband. Trims are a cruise-and-idle diagnostic, not a tuning tool.

A few other traps worth knowing. A misfire dumps unburnt oxygen past the sensor, so the ECU reads it as lean and adds fuel — trims on a misfiring engine are describing the misfire, not the fuelling, so fix P0300 first. A lazy or biased upstream sensor makes the trims wrong in a way that looks exactly like a real fuelling fault. And trims read after a battery disconnect or an ECU reset mean nothing until the car has been driven long enough to relearn.

The codes these turn into

When the correction runs out of authority, the ECU sets a code. The common ones are P0171 (system too lean, bank 1) and P0174 (bank 2), and their rich counterparts P0172 and P0175. A MAF fault often shows as P0101 alongside lean trims — the sensor is under-reading airflow, the ECU is under-fuelling in proportion, and the oxygen sensor is quietly correcting it back.

P0171 with both banks lean and a leak-shaped idle/cruise pattern is one of the most common no-start-of-a-diagnosis faults on the internet, and it is very often a split hose. The pattern is what tells you that before you buy anything.

FAQ

How do I calculate total fuel trim?

Add short-term to long-term at the same operating point: total = STFT + LTFT. Under 5% is normal, 5-10% is worth explaining, 10% or more is a developing fault, and most ECUs set a code near 25%.

What do positive and negative fuel trims mean?

Positive means the ECU is adding fuel because the exhaust is reading lean. Negative means it is removing fuel because the mixture is rich. The sign tells you which way the base fuelling is wrong, not which part is faulty.

Why are my trims high at idle but fine at cruise?

That is the signature of unmetered air getting in after the mass-airflow sensor. A leak passes roughly a fixed amount of air, which is a big fraction of what the engine breathes at idle and a small one at cruise. Look at intake hoses, the intake manifold gasket, the PCV system and the brake booster hose.

What fuel trim percentage sets a P0171?

Most manufacturers set the lean codes when the total correction reaches roughly 25% and stays there, though the exact threshold and the time it must persist vary by make. A car can run noticeably badly at 15% with no warning light at all.

Do fuel trims work at full throttle?

No. At wide-open throttle the ECU runs open loop from its power map and ignores the oxygen sensor, so trims freeze. Healthy cruise trims say nothing about how the engine is fuelled at full load - that needs a wideband.