What Are OBD2 PIDs and How Do They Work
By Kamil Siegień / October 12, 2026
OBD2 PIDs (Parameter IDs) are the numeric identifiers used to request specific data values from a vehicle’s electronic control modules. When you open the live data screen on an OBD2 scanner and see engine RPM, coolant temperature, and throttle position displayed, each of those readings was retrieved by the scanner sending a PID request to the vehicle and the vehicle’s module responding with the corresponding value. Understanding what PIDs are, which ones exist, which are standardized versus manufacturer-specific, and how to use them changes how you interpret live data from a passive display exercise into a directed diagnostic tool.
I explain this in more detail in my can you drive with check engine light on.
For scanner recommendations to perform this type of work, see my scanner comparison guide.
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.
This guide covers how OBD2 PID requests work at the communication level, the difference between standard and supported PIDs, the most diagnostically useful standard PIDs, how enhanced (manufacturer-specific) PIDs differ from standard ones, and how to use supported PID queries to discover what data a specific vehicle exposes.
If you are on a tight budget, my best value OBD2 scanners covers the top value picks.
How OBD2 PID Requests Work

OBD2 communication is organized into services (also called modes) and parameters within each service. A PID request has two components: the service number and the parameter number. Service 01 (Mode 01) is the current data mode, which returns real-time sensor values. A request for PID 0x0C under Service 01 asks the ECM for the current engine RPM. The vehicle responds with the raw byte value, and the scanner applies the scaling formula defined for that PID to convert the raw bytes to a human-readable unit (for RPM: the formula is (256 × byte A + byte B) / 4, which converts the two response bytes to the RPM value in revolutions per minute).
For a professional-grade tool, my top professional scanner picks covers the top options.
Each PID has a defined response format that specifies how many bytes the response contains, the scaling formula, and the unit. For example, PID 0x05 (coolant temperature) returns one byte, scaled as (byte A – 40) to produce the temperature in degrees Celsius, with a range of negative 40 to positive 215 degrees. These formulas are standardized for all PIDs with numbers defined in the SAE J1979 standard. Every vehicle that supports these PIDs returns data in the same format.
BMW owners looking for the right scanner should check my best diagnostic tools for BMW.
The scanner’s data display layer takes the raw byte values, applies the scaling formula, and shows the result in the appropriate unit. When you see “Engine RPM: 820 rpm” on the live data screen, the scanner has performed this request-response-scale sequence in the background, typically 5 to 10 times per second for each displayed PID.
Ford owners looking for the right scanner should check my best diagnostic tools for Ford.
Standard PIDs vs Supported PIDs

The OBD2 standard defines a list of mandatory and optional PIDs. Mandatory PIDs are required on all OBD2-compliant vehicles. Optional PIDs in the standard are defined and standardized (the request format and scaling are universal) but not every vehicle is required to support them. A vehicle that does not calculate fuel rail pressure, for example, does not support the fuel rail pressure PID even though the PID is defined in the standard.
Chevy owners looking for the right scanner should check my best diagnostic tools for Chevy.
Before requesting data from a PID, the scanner can query whether the vehicle supports it using the “supported PIDs” mechanism. PIDs 0x00, 0x20, 0x40, 0x60, 0x80, 0xA0, and 0xC0 in Mode 01 are special availability bitmask PIDs: each one returns a 32-bit bitmask indicating which of the next 32 PIDs (in the respective range) the vehicle supports. Sending PID 0x00 returns a bitmask for PIDs 0x01 to 0x1F. Bit positions that are set (1) indicate a supported PID. Sending PID 0x20 extends this to PIDs 0x21 to 0x3F, and so on through the available PID space. A scanner that performs a supported PID query first builds a list of only the PIDs the specific vehicle supports, preventing it from displaying empty or error values for unsupported parameters.
Toyota owners looking for the right scanner should check my best diagnostic tools for Toyota.
Most Useful Diagnostic Standard PIDs
The diagnostically most valuable standard Mode 01 PIDs, what they measure, and what values indicate a problem:
Mercedes owners looking for the right scanner should check my best diagnostic tools for Mercedes.
PID 0x04 — Calculated Engine Load: a percentage from 0 to 100 that represents the engine’s current torque output as a fraction of its maximum at the current speed. Expected at warm idle: 15 to 25 percent depending on the engine. High idle load (above 35 percent) indicates parasitic load from a stuck actuator, a mechanical friction source, or incorrect idle compensation. Low load that does not increase with throttle application indicates a fueling or throttle control problem.
Honda CR-V owners can find the right scanner in my top CR-V diagnostic tools.
PID 0x06/0x07 — Short Term and Long Term Fuel Trim (STFT/LTFT): percentage adjustments the ECM is applying to the base fuel delivery. Both should be near 0 percent on a healthy system. STFT above positive 10 percent indicates the ECM is adding fuel to compensate for a lean condition (vacuum leak, MAF under-reading, injector flow below expected). LTFT accumulates the average of STFT corrections over time: LTFT persistently above positive 10 percent confirms a chronic lean condition. These two PIDs together identify fueling system problems faster than any other standard PID combination.
My my guide on diagnose vacuum leaks covers this step by step.
My stft vs ltft how to read fuel trims obd2 scanner covers this step by step.
Ford F-150 owners can find the right scanner in my top diagnostic tools for the F-150.
PID 0x11 — Throttle Position: a percentage from 0 to 100. At idle with no accelerator input, should read 0 to 5 percent. Values that never drop to minimum at idle with the accelerator fully released indicate a stuck throttle plate or incorrect TPS reference. Erratic readings during steady throttle application indicate TPS signal noise or a failing sensor.
Audi Q8 owners can find the right scanner in my best scanners for the Q8.
PID 0x0D — Vehicle Speed: useful for comparing against ABS wheel speed sensor readings in ABS live data. A discrepancy between OBD2 vehicle speed and ABS wheel speed on one corner identifies a failing wheel speed sensor.
I cover this capability in more detail in my BlueDriver diagnostic coverage.
Enhanced (Manufacturer-Specific) PIDs

Beyond the standard OBD2 PID range, each manufacturer defines additional PIDs for parameters not covered by the standard. These enhanced PIDs use higher PID numbers or a completely different request format, and require the scanner to have the manufacturer’s PID definitions in its database to interpret the responses. Enhanced PIDs provide access to parameters that the standard completely omits: individual cylinder misfire counters, injection pulse width per cylinder, boost pressure target versus actual, variable valve timing position, individual wheel brake pressure, and hundreds of other system-specific parameters.
My what is a pid obd2 diagnostics covers this step by step.
My my guide on read map sensor data covers this step by step.
My my guide on read live data for misfire diagnosis covers this step by step.
My my guide on diagnose misfires covers this step by step.
Audi owners looking for the right scanner should check my best diagnostic tools for Audi.
The value of enhanced PIDs for diagnosis is substantial. Standard PID 0x0C shows total engine RPM. Enhanced PIDs for a specific manufacturer may show individual cylinder contribution, allowing a misfire diagnosis that identifies which cylinder is misfiring before a DTC is stored. Standard PIDs do not expose turbocharger data at all. Enhanced PIDs on turbocharged vehicles show boost pressure, wastegate duty cycle, and intercooler temperature, which are essential for diagnosing boost-related fault codes.
I cover this capability in more detail in my Foxwell NT726 coverage.
Enhanced PID access requires a scanner with the specific make’s PID database. ELM327-based generic adapters support only standard OBD2 PIDs. A scanner marketed as having “enhanced coverage” for a specific make has decoded that make’s enhanced PIDs and translated them into readable parameters. The depth of enhanced PID coverage varies by scanner brand and by how well the scanner manufacturer has decoded the target make’s protocols.
My elm327 and what can it do explained covers this step by step.
For a scanner with active test capability, see my best scanners with active test.
How PID Update Rate Affects Diagnostic Accuracy
The OBD2 protocol is a request-response system that processes one PID request at a time over the vehicle’s diagnostic bus. The scanner sends a request, the module responds, and then the scanner can send the next request. The more PIDs you display simultaneously on the live data screen, the lower the update rate for each individual parameter because the available communication bandwidth is divided across all the active requests. A typical OBD2 bus runs at 500 kbit/s on CAN, but the request-response cycle takes 10 to 30 milliseconds per PID depending on the protocol implementation.
Honda owners looking for the right scanner should check my best diagnostic tools for Honda.
For slow-changing parameters like coolant temperature or long-term fuel trim, a low update rate (one update every 200 to 500 milliseconds) is entirely sufficient because these values change over seconds to minutes. For fast-changing parameters like oxygen sensor voltage (which switches 1 to 2 times per second on a healthy sensor), MAF sensor readings during a throttle blip, or misfire counters during a rough-idle diagnosis, a slow update rate misses transitions and makes the data appear sluggish or misleading. The MAF reading during a 1-second throttle blip may peak at 50 g/s for 200 milliseconds: a scanner updating every 500 milliseconds may miss this peak entirely and show an inaccurate average.
My my guide on read maf sensor data covers this step by step.
My my guide on read o2 sensor live data covers this step by step.
I explain this in more detail in my my guide on check used car.
The practical solution: when diagnosing fast-changing parameters, minimize the number of simultaneously displayed PIDs to increase the update rate for the parameters you need. Drop all the slow-changing background PIDs (coolant temperature, battery voltage, long-term fuel trim) and display only the fast-changing parameters under investigation. Most scanners update the selected PID set 3 to 5 times per second when only 5 to 8 PIDs are displayed, compared to once per second or slower when 30 PIDs are displayed simultaneously. For capturing rapid events, use the scanner’s record function rather than real-time observation: record the live data stream during the fault condition and play it back for analysis at full resolution.
I explain this in more detail in my obd2 code reader vs scanner.
Mode 05 and Mode 06 PIDs provide a different class of data than Mode 01 live data: these modes return completed test results and component-specific measurements rather than continuous real-time values. Mode 05 holds oxygen sensor test results, including the minimum and maximum switching voltage observed during the last completed test. Mode 06 holds the measured results for non-continuous monitors: catalyst efficiency value, oxygen sensor response times, EVAP leak test pressure. These values are set-and-hold parameters that update only when the relevant monitor completes a test, making them diagnostically different from Mode 01 live data. A Mode 06 catalyst efficiency value of 0.81 against a 0.80 minimum limit is a borderline catalyst heading toward failure even though the Mode 01 live data shows normal oxygen sensor switching and no active code.
My obd2 mode 06 explained monitor test results covers this step by step.
My my guide on obd2 mode 6 explained use for diagnosis covers this step by step.
My my guide on perform evap system test covers this step by step.
I explain this in more detail in my my guide on use an.
FAQs
How many OBD2 PIDs are there?
The SAE J1979 standard defines approximately 100 standardized PIDs across the various OBD2 modes (Mode 01 through Mode 09). However, no single vehicle supports all of them: each vehicle supports only the subset relevant to its systems. Enhanced (manufacturer-specific) PIDs add hundreds to thousands of additional parameters per make, each requiring the scanner to have the manufacturer’s specific definitions to interpret. A high-end scanner for a single make may display several hundred parameters across all modules using a combination of standard and enhanced PIDs.
Can I request raw PID values directly?
Yes, if you use an ELM327-based adapter with a terminal application or OBD2 app that exposes a direct command interface. Sending “01 0C” in the terminal (service 01, PID 0C) returns the raw RPM bytes. Sending “03” returns stored DTCs. This direct access is used by developers building custom monitoring software and by diagnosticians who need raw byte values to diagnose PID scaling issues. Consumer scanners handle the request and scaling automatically, but the raw interface is available for advanced use on any ELM327-compatible adapter.
What is the difference between Mode 01 and Mode 02 PIDs?
Mode 01 returns current (real-time) values for the parameters the vehicle currently supports. Mode 02 returns freeze frame data: the values these same parameters had at the moment the last DTC was stored. Mode 02 data provides context for why a DTC was stored by showing the sensor readings at the fault event. For example, a P0171 (system lean) code with Mode 02 data showing coolant temperature at 35 degrees C, STFT at positive 25 percent, and vehicle speed at 0 indicates the lean fault occurred during cold-start idle, which points to a different cause than the same code with Mode 02 data showing the fault occurred at hot idle.
Why do some PIDs show N/A or not display on my scanner?
A PID that shows N/A or blank on a scanner is either not supported by the vehicle (the vehicle’s ECM did not set the corresponding bit in the supported PID bitmask) or the scanner’s database does not have the formula to decode the response for that PID. The scanner may still send the request and receive a response, but if it cannot decode the response format, it displays N/A rather than a potentially incorrect value. On enhanced PIDs, N/A often indicates the parameter is not available on the specific engine variant or the scanner’s coverage for that make does not include that PID’s definition.

