intermediate

Fuel Trims: Reading STFT and LTFT

Fuel trim is the percentage by which the computer is correcting its own base fuel calculation — positive means it is adding fuel because the exhaust reads lean, negative means it is subtracting because the exhaust reads rich.

In short

Fuel trim is the single most informative number on a generic scan tool, because it tells you how wrong the engine's own air-and-fuel estimate is. Short-term trim is the live correction; long-term trim is the learned average of it. Read them together, read them at several engine loads, and the pattern usually names the fault category before you touch anything.

What the number actually is

The computer calculates a base injector pulse width. It starts from measured or modeled airflow — a mass airflow sensor, or manifold pressure plus rpm on a speed-density system — and works out how much fuel that quantity of air needs to reach the target ratio.

That calculation is an estimate. In closed loop, the upstream oxygen sensor reports what actually came out of the cylinder, and the computer corrects the next injection accordingly. Expressed as a percentage of the base pulse width, that correction is fuel trim. Plus 10 percent means the injectors are being held open 10 percent longer than the base calculation asked for. Minus 10 percent means shorter.

One thing this is not: a measure of how rich or lean the engine is running. A closed-loop engine with a sizeable vacuum leak is still running at stoichiometric — the computer got it there. The trim number is the size of the correction it needed to do that. Fuel trim measures the error in the estimate, not the error in the mixture.

Short term versus long term

Short-term fuel trim (STFT) is the live correction. It is driven directly by the oxygen sensor, it moves constantly, and on a healthy engine it oscillates around zero. It is not stored; it resets to zero whenever the system leaves closed loop.

Long-term fuel trim (LTFT) is memory. The computer notices that STFT keeps sitting in one direction, and shifts LTFT to absorb that offset — which frees STFT to go back to oscillating near zero. LTFT is typically stored in a table of cells indexed by rpm and load, so a vehicle can carry a large correction at idle and a small one at cruise. It survives key-off. It is erased when codes are cleared, and usually when the battery is disconnected, though the exact behavior varies.

Always add them. Total correction is STFT plus LTFT. LTFT at +18 percent with STFT at −2 percent describes an engine that has learned an 18 percent addition and is currently stable at it — a real, established problem, not a fluctuating one. STFT swinging ±20 percent with LTFT near zero describes something intermittent that the computer has not yet learned.

How much is too much

The working convention among technicians is that a total correction inside roughly ±10 percent is normal territory, and beyond that something is measurably wrong even if no light is on. Treat that as a rule of thumb, not a specification.

The thresholds that actually set a code — P0171 and P0174 for lean, P0172 and P0175 for rich, P2177 and P2187 for lean off-idle and at idle respectively — are chosen by each manufacturer and are not standardized across OBD-II. Some vehicles set a code well before others would. Some run double-digit trims briefly after a repair or a battery disconnect while they relearn, and that is not a fault.

The more important limit is this: fuel trim numbers are only meaningful in closed loop. In open loop STFT is typically parked at zero and LTFT is frozen. Reading trims on a cold engine, at wide-open throttle, or with a failed sensor tells you nothing at all.

Reading trims by load — this is the whole technique

A single trim reading is nearly useless. Take readings at three operating points and compare: warm idle, around 2,500 rpm with no load, and a steady cruise or moderate load.

Lean at idle, improving as rpm and load rise. Unmetered air is entering downstream of the airflow sensor. A fixed-size leak is a large fraction of the tiny airflow at idle and a trivial fraction at high airflow, so the correction shrinks as you open the throttle. Look at vacuum lines, intake manifold and throttle body gaskets, the PCV system, the brake booster and its hose, and any hose stub that could have cracked.

Lean at all conditions, worse under load. Fuel delivery is falling behind, or air is being under-reported. Fuel pressure and volume, pump condition, a restricted filter or tank strainer, restricted injectors, or a mass airflow sensor reading low.

Rich at all conditions. Excess fuel or over-reported air: a leaking injector, high fuel pressure, an airflow sensor reading high, or a false-rich upstream sensor.

Rich at idle but lean under load. The classic contaminated or drifting mass airflow sensor pattern — it over-reports at low flow and under-reports at high flow.

One bank only versus both banks. A lean code on one bank points to something local to that bank. The same code on both banks points to something they share — fuel supply, airflow measurement, or a leak in common intake plumbing.

Traps that make trims lie

Exhaust leaks upstream of the oxygen sensor. Between exhaust pulses, pressure at the leak goes briefly negative and outside air is drawn in. The sensor sees oxygen, reports lean, and the computer adds fuel. Positive trims, caused by a hole in a pipe, with the engine actually running rich as a result. Repair exhaust leaks before you interpret anything.

A biased oxygen sensor. Trims chase whatever the sensor says. A sensor reading falsely lean produces positive trims on a perfectly good engine, and one reading falsely rich produces negative trims while the engine slowly starves. Confirm the sensor is telling the truth before you act on what it made the computer do.

Fuel composition. Ethanol needs more fuel for the same air. A tank of high-ethanol fuel shifts trims positive across every load point on a vehicle not calibrated for it. That is chemistry, not a fault.

Modifications. Aftermarket intakes, oiled air filters that contaminate the airflow sensor element, and unmetered breather setups all move trims, sometimes a long way.

Clearing codes wipes learned LTFT. The vehicle may idle and drive differently for a while afterward, and a customer complaint of "it got worse after you scanned it" often traces to exactly this.

Using trims to prove a repair worked

This is what makes fuel trim worth learning. Most diagnostic work ends with an assumption that the repair fixed it. Trims let you check.

After the repair, clear the learned values, get the engine to full operating temperature and into closed loop, then verify total correction has settled near zero at idle, at raised rpm with no load, and at a steady cruise. All three. A repair that pulls idle trim back to zero while cruise trim sits at +20 percent is not finished — something is still wrong at higher airflow, and the code will come back.

Give the vehicle a real drive before declaring it done. Long-term trim needs time and a range of conditions to relearn, and a reading taken thirty seconds after clearing codes tells you nothing.

Why this matters

Fuel trim converts a vague complaint — rough idle, poor economy, a lean code — into a direction. The pattern across idle, no-load rpm and cruise separates a vacuum leak from a fuel supply problem from a bad airflow sensor before any part comes off the vehicle, and the same numbers afterward prove whether the repair actually worked instead of leaving you to hope.

Codes this explains