OBD2 freeze frame data is a snapshot of engine sensor readings captured at the exact moment the ECU confirmed a fault. When a trouble code sets, the ECU does not just log the code number; it records a photograph of what the engine was doing at that precise moment: speed, temperature, load, fuel correction values, and more. Most drivers scan their car, see the code, look it up, and ignore everything else on the screen. That is the part where most DIY diagnoses go wrong.

About the author: Hello! I’m Kamil Siegień, founder of OBD2 Scout. My diagnostic experience started with an engine rebuild on a 2014 Skoda Superb 1.8 TSI, where tuning from 160 to 222 hp required mastering live data and ECU behavior that basic code readers cannot handle. I am a former BMW and MINI employee and regularly use diagnostic scanners on my own Audi A4 2.0 TFSI.
The code number tells you what the ECU complained about. The freeze frame tells you the circumstances under which it complained. Used together, they give you a starting point for structured diagnosis. Used alone, the code number sends many people to the parts store to replace the component named in the description, which is often not the failed part at all.
What OBD2 Freeze Frame Data Is
Freeze frame data is stored in OBD2 service Mode $02. All OBD2-compliant vehicles are required to support it, meaning any car sold in the United States from 1996 onward has freeze frame data available when a confirmed fault code is present. The data is tied directly to the stored DTC. When you select a confirmed code on your scanner, the freeze frame for that code is accessible alongside it. My guide on how pending codes become confirmed covers the two-trip detection strategy, what changes in the ECU memory at each stage, and why freeze frame only exists for confirmed faults — not pending ones.
The parameters captured vary slightly between vehicles and manufacturers, but the core set is standardized. The table below shows what most vehicles record. My guide on what OBD2 monitors and how the system stores faults covers the ECU’s role, why the 16-pin connection became the universal interface for this data, and what the diagnostic standard was actually designed to expose.
| Parameter | What It Shows |
|---|---|
| Engine RPM | Engine speed at fault confirmation |
| Vehicle speed | Whether the car was stationary or moving |
| Calculated engine load | Percentage of maximum engine capacity in use |
| Coolant temperature | Whether the engine was cold, warming up, or fully warm |
| Fuel system status | Open loop or closed loop at time of fault |
| Short-term fuel trim (STFT) | Immediate ECU fuel correction at fault moment |
| Long-term fuel trim (LTFT) | Learned fuel correction built up over time |
| Throttle position | How far the throttle was open |
| MAP or MAF reading | Intake pressure or airflow measurement |
| O2 sensor reading | Upstream or downstream oxygen sensor value |
| Intake air temperature | Temperature of air entering the engine |
How Freeze Frame Is Stored
Most vehicles store a single freeze frame at a time. When a new fault confirms, it overwrites the existing frame, with one important exception most sources skip. Misfire and fuel trim faults are assigned priority status in the OBD2 standard. If a misfire or fuel trim code confirms while another freeze frame from a different fault is already stored, the misfire or fuel trim frame replaces it. The reasoning is that these faults carry the highest emissions risk, so their snapshot is considered more valuable. My guide to OBD2 code categories and structure covers which P-code subcategories the ECU treats as highest emissions priority and what distinguishes them from manufacturer-specific codes in the same system.
Freeze frame data is not permanent. If the fault code clears automatically after multiple successful warm-up cycles with no recurrence, the associated freeze frame also clears. More commonly, freeze frame data disappears because a driver clears the codes with a scanner without recording the values first, which is one of the most avoidable diagnostic mistakes a DIY driver can make. My guide on when and how to clear OBD2 codes covers the correct sequence — read, record, repair, then clear — and the four situations where clearing is the right move versus the four where it makes diagnosis harder.
Establish the Scenario Before Reading Individual Values

The single most effective habit when reading freeze frame data is to establish the operating scenario before looking at any individual parameter. Four values determine the scenario: coolant temperature, RPM, vehicle speed, and engine load. Read those four first. My guide on reading and decoding OBD2 trouble codes covers how to look up each code correctly, when manufacturer-specific lookups are required, and how to avoid replacing the part named in the description before the freeze frame narrows the actual cause.
Coolant temperature tells you whether the engine was cold, warming up, or at full operating temperature. RPM and vehicle speed together tell you whether the engine was idling or under driving load. Engine load tells you how hard the engine was working. From those four values alone, you can identify which system was being stressed at the moment the fault confirmed. My guide to scanners that read beyond powertrain covers the models where freeze frame is accessible across all supported systems — engine, ABS, and transmission — not just the powertrain module.
- Warm engine, low RPM, speed 0, low load: The engine was at a warm idle. Vacuum integrity and air metering are the stressed systems.
- Cold engine, elevated RPM, speed 0: Cold start high idle. Fuel enrichment and injector delivery are stressed.
- Warm engine, elevated RPM, speed 40+ mph, load 50%+: The fault triggered under driving load. Fuel delivery pressure and ignition are stressed.
Establishing the scenario first prevents the common mistake of looking at a fuel trim value in isolation without knowing whether those trims are even meaningful at that moment.
What Each Key Parameter Actually Tells You
Once the scenario is established, the remaining parameters carry diagnostic weight. Here is how to interpret the most important ones. My Innova 3100RS hands-on review covers whether this budget scanner displays all the key freeze frame parameters or only a subset, and how it compares to mid-range models for actual diagnostic use.
Fuel system status, the most overlooked parameter: This field shows whether the ECU was in open loop or closed loop fuel control at the time of the fault. In closed loop, the ECU actively uses oxygen sensor feedback to adjust fuel delivery, and short-term and long-term fuel trims are meaningful. In open loop, which happens during cold start, wide-open throttle, and certain deceleration conditions, the ECU ignores O2 sensor feedback and runs on a fixed fuel map. If the freeze frame shows open loop, the fuel trim values in that same frame are noise. They do not reflect a real lean or rich condition. This distinction is absent from most guides, which list fuel trims as key parameters without flagging that they only matter in closed loop. Trax owners reading freeze frame data can find the scanners that display these parameters most clearly in my OBD2 scanner guide for the Chevy Trax.
Short-term and long-term fuel trims: In closed loop, STFT shows the ECU’s immediate correction at the moment of the fault. LTFT shows the correction the ECU has learned and stored over hours of driving. Positive values mean the ECU is adding fuel: the engine is running lean and the ECU is compensating. Negative values mean the ECU is reducing fuel: the engine is running rich. The magnitude matters: values within roughly plus or minus 5 percent are normal. Values beyond plus or minus 10 percent on LTFT indicate a persistent condition the ECU has adapted to.
Engine load: Low load (under 20 percent) means the engine was barely working: typical of a warm idle. High load (above 50 percent) means the engine was under real demand. A lean code that appears with low load and low speed points to a different cause than the same lean code appearing at high load and highway speed.
Coolant temperature: Below approximately 80 degrees Celsius, the engine is still warming up. Most vehicles run in open loop during warm-up. Above 90 degrees Celsius, the engine is at full operating temperature and should be in closed loop. A freeze frame showing a fault at 40 degrees coolant with elevated STFT is a cold-start fuel delivery pattern, not a vacuum leak pattern.
Lean Trims: Vacuum Leak vs. Fuel Delivery

A positive fuel trim in freeze frame means the engine was running lean. That is where most guides stop. The freeze frame can actually help separate the two most common causes of a lean condition: a vacuum leak and a fuel delivery problem: because they produce different patterns depending on the scenario. My detailed Foxwell NT630 Plus walkthrough covers a mid-range scanner where freeze frame and live data are displayed together, so you can compare the stored snapshot with current readings in the same screen session.
A vacuum leak introduces unmetered air into the intake. At idle, this extra air is a large percentage of total airflow, so the ECU compensates heavily: high positive STFT and LTFT at idle are typical. As RPM and load increase, the throttle opens and metered airflow increases, so the vacuum leak becomes a smaller percentage of the total. Trims that are high at idle and drop toward normal as load increases point toward a vacuum or air metering fault.
A fuel delivery problem behaves opposite. At idle, fuel demand is low and the system may keep up adequately. Under load, fuel demand rises and the pump, regulator, or injectors cannot deliver enough. Trims that look acceptable at idle but spike under acceleration point toward fuel delivery. The scenario in the freeze frame: specifically the RPM, load, and vehicle speed at fault confirmation: is the first filter for separating these two causes. My complete Autel MaxiSYS Elite II Pro review covers a professional scanner where freeze frame data includes manufacturer-specific parameters beyond the standardized set, providing additional context for exactly this kind of multi-cause fault.
What Freeze Frame Cannot Tell You
Freeze frame data is a hypothesis generator, not a verdict. It tells you which system was stressed at the moment of fault confirmation. It does not tell you which specific component within that system failed. A high positive fuel trim at warm idle narrows the cause to the air and vacuum system, but it does not confirm whether the source is a cracked intake manifold gasket, a loose vacuum hose, a leaking brake booster line, or a failed PCV valve. Physical testing is still required. My guide to professional OBD2 diagnostic tools covers the scanners where expanded freeze frame parameters, bidirectional actuator testing, and live data comparison are available in one workflow for exactly that physical confirmation step.
There is also a timing distinction that matters for intermittent faults. Freeze frame captures the moment the DTC criteria were met: not when the driver first noticed a symptom. For intermittent faults, those two moments can be far apart. A fuel pressure problem that causes a brief stumble during a cold start may not set a code until the third recurrence, and the freeze frame reflects that third event, not the symptom the driver described. Reading freeze frame as if it shows “what happened right before the check engine light came on” leads to misinterpretation when the fault was intermittent.
Any freeze frame finding should be validated against live data under the same operating conditions before a repair is committed to. Reproduce the scenario: same coolant temperature, same RPM and load range: and check whether current live data shows the same pattern. If it does, the hypothesis strengthens. If it does not, the fault may be intermittent or a secondary code event. My guide on live OBD2 sensor monitoring covers which parameters to watch when running that validation and how to structure the comparison between what the freeze frame recorded and what the engine is doing now.
Save Freeze Frame Before You Clear Codes

Clearing trouble codes with a scanner permanently erases the associated freeze frame data. That is the obvious consequence most drivers know. The less obvious consequence is that clearing codes simultaneously resets all OBD2 readiness monitors to incomplete. Both happen in the same action. My guide to OBD2 readiness monitor completion covers what the monitors track after a reset, the enabling conditions for each, and how to tell whether a monitor is simply waiting or has a genuine system fault.
Readiness monitors are the ECU’s self-tests for emissions-related systems. Emissions inspectors check whether they have completed, separately from whether the check engine light is on. A vehicle that arrives at an inspection with too many incomplete monitors fails or gets turned away, depending on the state’s rules, even if the check engine light is off. Clearing codes the night before a test removes the stored fault but creates a second problem by resetting the monitors. My guide to the OBD2 emissions scanner pre-check covers the correct sequence — repair, drive cycle, monitor verification, then appointment — and what the station reads from the port.
Before touching the clear function on any scanner, write down the code number, the freeze frame scenario, and the key parameter values. Photograph the screen if the scanner allows it. Some full OBD2 scanners can export freeze frame reports as files. Thirty seconds spent recording the data preserves the only snapshot the ECU captured of the fault. My guide on how to use an OBD2 scanner covers how to navigate to the freeze frame screen on wired and Bluetooth scanners, what to photograph before clearing, and the sequence that ensures the data is recorded before it is gone.
My guide to the OBD2 readiness monitor drive sequence covers the correct recovery procedure after clearing codes, including why the overnight cold soak is not optional and what to do when monitors refuse to complete despite multiple correct attempts.
How to Access Freeze Frame on Your Scanner
Most full OBD2 scanners display a freeze frame option directly alongside each confirmed DTC in the code list. It may appear as a camera icon, a “Freeze Frame” button, or a Mode $02 selection depending on the scanner interface. Selecting it retrieves the stored parameter values for that specific code. My guide to reliable entry-level OBD2 scanners covers which budget models display the full freeze frame parameter set alongside each code and which ones omit key fields that matter for diagnosis.
Basic OBD2 code readers often do not display freeze frame at all. They query Mode $03 for stored codes and stop there. If your scanner shows a code but no freeze frame option, the scanner likely does not support Mode $02. A full OBD2 scanner is needed to access the data. If the scanner supports Mode $02 but returns empty results, the vehicle may not have stored a freeze frame for that particular code: this can happen with codes that clear and reset frequently or with manufacturer-specific faults that do not follow the standard freeze frame storage requirement. My guide on how scanner capability tiers compare covers which tier is needed to access manufacturer-specific freeze frame data alongside the standardized snapshot.
The Bottom Line
OBD2 freeze frame data is the context behind the code. The code number names the system. The freeze frame shows the conditions under which the fault was confirmed: warm or cold, idling or under load, lean or rich, open loop or closed loop. Reading those conditions in the right order: scenario first, then parameters: turns a code lookup into a structured hypothesis about what actually went wrong.
Most DIY diagnostic mistakes happen because the code number gets treated as a diagnosis. Freeze frame narrows the cause before any parts are touched, which is the difference between a targeted repair and an expensive guess.
FAQs
Does every car store freeze frame data?
All OBD2-compliant vehicles sold in the United States from 1996 onward are required to support freeze frame storage. If a confirmed DTC is present, a freeze frame should be stored alongside it. Exceptions exist: some manufacturer-specific codes do not follow the standard freeze frame storage requirement, and some older OBD2 implementations stored no frame for certain fault types. If your scanner returns empty freeze frame results for a stored code, the vehicle may not have captured a frame for that specific fault.
Can freeze frame data tell me exactly which part to replace?
No. Freeze frame identifies which system was stressed at the moment the fault confirmed. It narrows the cause to a category: air and vacuum, fuel delivery, ignition, sensor: but it does not identify the specific failed component within that system. Physical testing is still required: a smoke test for vacuum leaks, a fuel pressure gauge for delivery faults, a coil swap pattern for misfires. Freeze frame tells you where to look first, not what to order.
What happens to freeze frame data when I clear codes?
Clearing trouble codes permanently erases the associated freeze frame. At the same time, all OBD2 readiness monitors reset to incomplete. Both consequences happen in one action. Monitors take days of normal driving to complete after a reset, and incomplete monitors are a separate reason to fail an emissions inspection even if the check engine light is off. Always record the freeze frame values before clearing any codes.
What is the difference between freeze frame data and live data?
Freeze frame is a static snapshot captured at one specific moment: when the fault code confirmed. It does not update and cannot be changed by driving the vehicle. Live data is a continuous real-time feed of current sensor values that changes every second while the engine is running. OBD2 freeze frame data shows what happened at the moment of the fault; live data shows what is happening right now. Both are useful, and the correct diagnostic approach is to use freeze frame to form a hypothesis and then use live data under the same operating conditions to validate it.

