how-to
How Do You Read a Vehicle Diagnostic Report?
Last Updated: November 1, 2026
Quick Summary
To read a diagnostic report, start with the header (VIN, modules, tool notes), then read the code list with status flags, freeze-frame data, readiness monitors, and live data. Never trust the code alone: a DTC tells you where the computer noticed a fault, not which part failed.
- A complete report has four parts: fault codes, status flags, freeze-frame data, and system status.
- The first character of an OBD-II code tells you which vehicle system logged the fault.
- Pending codes often clear themselves, but permanent codes cannot be erased with a scan tool.
- A flashing check engine light means stop driving, not schedule service this week.
- Clearing codes before a proper diagnosis wipes freeze-frame data and resets readiness monitors.
Table of Contents
- What a Vehicle Diagnostic Report Actually Contains
- How to Read OBD-II Codes: Letters, Digits, and Categories
- Stored vs. Pending vs. Permanent Codes: What the Status Tells You
- A Vehicle Diagnostic Report Example, Annotated
- How to Diagnose a Car Trouble Code Using Symptoms and Live Data
- Judging Severity: Is It Safe to Drive After a Code?
- Where Diagnostic Reports Mislead You
- Verifying the Repair Before You Clear Codes
- Frequently Asked Questions
What a Vehicle Diagnostic Report Actually Contains
A vehicle diagnostic report is a printout or screen summary of what your car's computers recorded, built from fault codes, sensor data, and system status checks. Car Diagnostic Test Near Me: What to Expect explains what a professional diagnostic test involves.
Codes, Status, and the Data Behind Them
A complete diagnostic report has four parts:
- Fault codes (DTCs): the stored trouble codes your computer logged
- Status flags: whether each code is stored, pending, or permanent
- Freeze-frame data: sensor readings captured at the moment of the fault
Freeze-frame data tells you the engine speed, load, and temperature when the fault set, context that often separates a real problem from a one-time glitch.
How to Read OBD-II Codes: Letters, Digits, and Categories
Reading OBD-II codes starts with the first character, which tells you which vehicle system logged the fault; the next four digits narrow it to the exact component or circuit.
- First character: P (powertrain), B (body), C (chassis), or U (network)
- Second character: 0 for a generic code, 1 for manufacturer-specific
- Third character: the subsystem within that group
A code beginning with P0 is a generic powertrain fault. A U-code points to a communication problem between control modules, not a broken part.
Powertrain, Body, Chassis, and Network Codes
- Powertrain (P): engine, transmission, emissions, fuel delivery
- Body (B): airbags, seat belts, lighting, climate control
- Chassis (C): brakes, steering, suspension, ride control
A common mistake is treating every code as an engine problem. A B-code about a seat belt sensor won't affect how the car drives, but it will fail an inspection.
Stored vs. Pending vs. Permanent Codes: What the Status Tells You
The status tells you how serious and how repeatable the fault is.
- Pending code: the computer saw an abnormal reading once but hasn't confirmed it
- Stored code: the fault repeated enough to set a hard code and turn on the check engine light
- Permanent code: an emissions-related fault the computer locks in until it verifies the repair over several drive cycles
Pending codes often clear themselves; permanent codes cannot be erased with a scan tool.
The status flag on each code tells you how serious and how repeatable the fault is.
| Status | What it means | What to expect |
|---|---|---|
| Pending | Computer saw an abnormal reading once, not confirmed | Often clears itself |
| Stored | Fault repeated enough to set a hard code | Turns on the check engine light |
| Permanent | Emissions-related fault locked in until repair verified | Cannot be erased with a scan tool |
A Vehicle Diagnostic Report Example, Annotated
A real diagnostic report is a page of fields, and the skill is reading them together. Here is an annotated walkthrough of a typical report from a car with a rough idle.

The Report Header: VIN, Modules, and Tool Notes
- VIN: confirms the report matches the vehicle and the correct calibration
- Modules responding: lists which control modules answered the scan (engine, transmission, ABS, airbag, body)
- Modules not responding: a blank module can mean a network fault, a blown fuse, or a tool limitation, not necessarily a failed module
A module that fails to respond is itself a finding. If the ABS module is silent while the engine module reports normally, the story is a communication or power problem on that branch of the network, not an engine fault.
The Code List: Status Flags Matter as Much as the Code
- P0301, Stored: misfire on cylinder one, confirmed and repeated
- P0171, Pending: system too lean on bank one, seen once, not yet confirmed
- P0455, Permanent: evaporative emissions leak, locked until drive cycles verify the repair
Read the statuses together. A stored misfire plus a pending lean code points toward a single root cause (a vacuum leak or weak injector affecting one cylinder) rather than two unrelated faults.
Freeze-Frame Data: The Conditions When the Fault Set
The freeze-frame snapshot captures sensor values at the moment the fault was logged, including:
- Engine speed (RPM): was the fault at idle, cruise, or under load?
- Calculated load: light load versus heavy load changes which causes are plausible
- Coolant temperature: a cold-start-only fault points to different causes than a warm-engine fault
In our example, the freeze-frame shows the misfire set at low RPM, light load, with long-term fuel trim positive on bank one and a lean reading. That points toward unmetered air (a vacuum leak) or a weak injector on cylinder one, not a worn spark plug, which typically misfires under load.
Readiness Monitors: What the Computer Has and Has Not Tested
Readiness monitors show which self-tests have completed since the last code clear or battery disconnect:
- Ready: the monitor ran and passed
- Not ready: the monitor has not completed its drive cycle
- Not supported: the vehicle does not run that monitor
A report showing several monitors "not ready" tells you the codes may be incomplete evidence. This matters most after a repair or battery replacement, and it is why a freshly cleared report is weak evidence.
Live Data and Scan-Tool Notes: The Technician's Additions
- Live sensor values: current readings for the suspect sensor while the engine runs
- Bidirectional test results: whether an actuator or circuit responded when commanded
- Technician notes: observations such as "misfire counts rise at idle, drop at 2,000 RPM"
Those notes are often the most valuable lines on the page. A misfire count that rises at idle and falls under load is a strong signal toward a vacuum leak; the reverse points toward ignition.
Putting the Fields Together
Read the report in this order: header (VIN, modules, tool notes), code list with statuses, freeze-frame data, readiness monitors, then live data and notes. In the example, the stored misfire plus pending lean code plus positive fuel trim plus idle-only misfire pattern together point to a vacuum leak or injector, a conclusion no single field supports alone.
How to Diagnose a Car Trouble Code Using Symptoms and Live Data
Diagnosing a car trouble code means matching the code to what the car is actually doing, then confirming with live sensor readings. For a deeper walkthrough, see Diagnosing Car Issues With Visual Proof: A How-To Guide.
- Note the symptoms: rough idle, hard start, poor mileage, warning light
- Read the freeze-frame data to see the conditions when the fault set
- Watch live data for the suspect sensor while the engine runs
- Compare the reading against the expected range
- Inspect the wiring and connectors before replacing anything
Judging Severity: Is It Safe to Drive After a Code?
A flashing check engine light means stop driving. A steady light usually means you can drive to a shop, but not ignore it for weeks. Severity depends on the code family, the status flag, the freeze-frame conditions, and whether the fault is active right now.
The Four Urgency Tiers
Translate report findings into one of four tiers:
- Stop driving now: flashing check engine light, active misfire codes (P0300-P0308), or any code paired with overheating, loss of power, or a burning smell. An active misfire can dump unburned fuel into the catalytic converter and destroy it in a short drive.
- Drive only to a shop: steady light with a stored code affecting emissions, fuel delivery, or transmission behavior, and the car still drives normally. Limit the trip and avoid heavy loads.
- Schedule service soon: steady light with a stored code and mild symptoms (slightly rough idle, small mileage drop). Safe for normal short trips, but do not postpone for weeks.
Reading the Report for Severity Clues
- Status flag: a permanent code means an emissions fault is locked in until verified, it will not clear on its own, so plan the repair. A pending code may resolve without action.
- Freeze-frame conditions: a fault that set at idle is often less urgent than one that set at highway speed under load, which can indicate a fault that worsens with demand.
- Multiple related codes: a stored misfire plus a lean code plus positive fuel trim is a stronger signal than any one code alone and usually warrants prompt diagnosis.
Code Families and Their Typical Urgency
- Powertrain misfire (P0300-P0308): highest urgency when active or flashing; can damage the catalytic converter
- Powertrain fuel trim (P0171, P0174): prompt service; lean conditions can cause misfires and long-term damage if ignored
- Transmission codes (P0700 series): limit driving; continuing to drive can turn a minor fault into a rebuild
A Decision Path You Can Apply
- Is the check engine light flashing? If yes, stop driving.
- Is the code stored or permanent, or only pending? Pending codes are watch items; stored and permanent codes need a plan.
- Does the car drive normally, or is there a performance, safety, or overheating symptom? Symptoms raise the tier.
- Is a safety system (ABS, airbag, steering) involved? Raise the tier even without symptoms.
- Are readiness monitors incomplete? Treat the report as provisional and re-scan after drive cycles.
If you are unsure how serious a code is, have a professional confirm it before you risk a bigger repair. Check Engine Light & Auto Diagnostics in Albuquerque, NM provides fast, accurate diagnostics to confirm severity.
Where Diagnostic Reports Mislead You
Reports mislead when readers treat a code as a diagnosis. A DTC tells you where the computer noticed a fault, not which part failed. Our Frequently Asked Questions cover common check engine light and diagnostic questions.
- A P0171 lean code can come from a vacuum leak, a weak fuel pump, or a dirty sensor
- A misfire code can trace to a plug, a coil, an injector, or a compression problem
- A network code can be a loose ground rather than a failed module
That last one is the costliest mistake. Clearing codes before a proper diagnosis wipes the freeze-frame data and resets readiness monitors.
Verifying the Repair Before You Clear Codes
Verifying a repair means confirming the fault is gone through a full drive cycle, not just erasing the code.
- Confirm the repair matches the root cause, not just the symptom
- Run the vehicle through the required drive cycles
- Re-scan and confirm the code stays cleared
A written estimate that lists the diagnosis, the fix, and the verification step is what to ask for before you approve any repair. How to Verify Car Repair Estimates Before You Approve walks through checking an estimate before you commit.
Reading a diagnostic report well comes down to one habit: never trust the code alone. The status, the freeze-frame data, and the post-repair verification turn a code into a real answer.
Frequently Asked Questions
Does a diagnostic code identify the exact part that needs replacing?
No. A diagnostic trouble code points to a system or circuit where readings fell outside the expected range, not to a specific failed component. A misfire code, for example, can come from a worn spark plug, a bad ignition coil, a vacuum leak, or low fuel pressure. That is why a diagnostic report includes freeze-frame data, live sensor readings, and sometimes a visual inspection. A technician uses all of it to narrow down the cause before recommending a repair.
What is the difference between a stored, pending, and permanent code?
A pending code is set after one drive cycle when a fault first appears, and it may clear itself if the issue does not repeat. A stored code has been confirmed over two consecutive drive cycles and usually triggers the check engine light. A permanent code is written into the control module until the vehicle completes enough fault-free drive cycles to clear it, and a scan tool cannot erase it. Reading all three statuses helps you tell a one-time glitch from a recurring fault.
Can a car have a diagnostic code without showing a warning light?
Yes. Pending codes and some manufacturer-specific codes can sit in memory without turning on the check engine light. A code reader or scan tool can retrieve them during a routine check. Catching a pending code early often means a smaller repair, which is one reason periodic scans make sense for high-mileage vehicles and commercial fleets that cannot afford downtime.
What should you do after reading a vehicle diagnostic report?
Match the code to the symptoms you have noticed, note the code status, and check the freeze-frame data to see the conditions when the fault set. If the code affects the emissions system, engine performance, or safety systems, have it diagnosed before driving far. Clearing codes without a repair only resets the monitor and hides the problem. A shop with ASE-certified technicians can confirm the cause and show you the evidence behind the recommendation.