OBD2 PID Overview: Lookup, Converter, Table, CSV and DBC
OBD2 PID Overview: Lookup, Converter, Table, CSV and DBC Tools
OBD2 Parameter IDs, or PIDs, provide standardized ways to request diagnostic data from an emissions-related vehicle ECU. For an engineer, the challenge is not only knowing the PID number. You also need to know the service, request format, response bytes, scaling formula, units, supported vehicles, and the difference between a standardized OBD2 PID and an OEM-specific CAN signal.
What Is an OBD2 PID?
An OBD2 PID is a Parameter ID used within an OBD2 diagnostic service to identify a particular piece of vehicle data. A diagnostic tester sends a request containing a service mode and PID. The ECU responds with data bytes. The tester then converts those bytes into an engineering value.
Why OBD2 PIDs Matter
Live Vehicle Data
PIDs provide diagnostic access to parameters such as engine speed, coolant temperature, vehicle speed and calculated engine load.
Standardized Diagnostics
Standardized PIDs provide a common diagnostic interface for supported emissions-related data across compliant vehicles.
Engineering Analysis
PID decoding helps engineers validate diagnostic communication and compare raw ECU response bytes with expected physical values.
OBD2 Mode 01 and PID Requests
Mode 01 is used to request current powertrain data. A typical request contains the service mode followed by the requested PID.
Here, 01 represents the current-data service and XX represents the PID.
OBD2 PID Lookup and Converter Tool
Use the lookup tool below to inspect common standardized Mode 01 PIDs. Enter a PID in hexadecimal, decimal, or search by name. The converter shows the expected response structure, formula and physical unit.
| PID | Parameter | Response Bytes | Formula | Unit |
|---|---|---|---|---|
| 0x00 | PIDs supported [01-20] | A, B, C, D | Bit map | Bit field |
| 0x01 | Monitor status since DTCs cleared | A, B, C, D | Bit fields | Flags |
| 0x04 | Calculated engine load | A | A × 100 / 255 | % |
| 0x05 | Engine coolant temperature | A | A − 40 | °C |
| 0x06 | Short-term fuel trim Bank 1 | A | (A − 128) × 100 / 128 | % |
| 0x07 | Long-term fuel trim Bank 1 | A | (A − 128) × 100 / 128 | % |
| 0x0B | Intake manifold absolute pressure | A | A | kPa |
| 0x0C | Engine speed | A, B | ((A × 256) + B) / 4 | rpm |
| 0x0D | Vehicle speed | A | A | km/h |
| 0x0F | Intake air temperature | A | A − 40 | °C |
| 0x10 | MAF air flow rate | A, B | ((A × 256) + B) / 100 | g/s |
| 0x11 | Throttle position | A | A × 100 / 255 | % |
| 0x1F | Run time since engine start | A, B | (A × 256) + B | s |
| 0x21 | Distance traveled with MIL on | A, B | (A × 256) + B | km |
| 0x2F | Fuel tank level input | A | A × 100 / 255 | % |
| 0x31 | Distance traveled since DTCs cleared | A, B | (A × 256) + B | km |
| 0x33 | Barometric pressure | A | A | kPa |
| 0x42 | Control module voltage | A, B | ((A × 256) + B) / 1000 | V |
| 0x46 | Ambient air temperature | A | A − 40 | °C |
| 0x5C | Engine oil temperature | A | A − 40 | °C |
| 0x5E | Engine fuel rate | A, B | ((A × 256) + B) / 20 | L/h |
How the PID Converter Works
Worked PID Conversion Example: Engine Speed
PID 0x0C represents engine speed. The response uses two data bytes, A and B. The standard conversion formula is:
Suppose the ECU responds with:
The response service is 0x41, the PID is 0x0C, and the data bytes are A = 0x1A and B = 0xF0.
Interactive PID Converter
Select a common PID and enter hexadecimal response bytes. The tool applies the corresponding conversion formula.
OBD2 PID Reference Table
The following table covers commonly used standardized PIDs. The exact supported set depends on the vehicle and applicable OBD requirements.
| PID | Parameter | Bytes | Conversion | Unit | Typical Engineering Use |
|---|---|---|---|---|---|
| 0x04 | Calculated engine load | 1 | A × 100 / 255 | % | Engine operating load |
| 0x05 | Engine coolant temperature | 1 | A − 40 | °C | Thermal monitoring |
| 0x06 | Short-term fuel trim Bank 1 | 1 | (A − 128) × 100 / 128 | % | Fuel control analysis |
| 0x0B | Intake manifold absolute pressure | 1 | A | kPa | Engine load analysis |
| 0x0C | Engine speed | 2 | ((A × 256) + B) / 4 | rpm | Engine speed validation |
| 0x0D | Vehicle speed | 1 | A | km/h | Vehicle speed |
| 0x0F | Intake air temperature | 1 | A − 40 | °C | Air temperature |
| 0x10 | MAF air flow rate | 2 | ((A × 256) + B) / 100 | g/s | Air mass measurement |
| 0x11 | Throttle position | 1 | A × 100 / 255 | % | Throttle monitoring |
| 0x1F | Run time since engine start | 2 | (A × 256) + B | s | Engine operating duration |
| 0x2F | Fuel tank level input | 1 | A × 100 / 255 | % | Fuel level |
| 0x31 | Distance since DTCs cleared | 2 | (A × 256) + B | km | Diagnostic history |
| 0x33 | Barometric pressure | 1 | A | kPa | Pressure reference |
| 0x42 | Control module voltage | 2 | ((A × 256) + B) / 1000 | V | ECU supply monitoring |
| 0x46 | Ambient air temperature | 1 | A − 40 | °C | Ambient condition |
| 0x5C | Engine oil temperature | 1 | A − 40 | °C | Oil thermal monitoring |
| 0x5E | Engine fuel rate | 2 | ((A × 256) + B) / 20 | L/h | Fuel consumption analysis |
OBD2 PID to CAN Data Flow
On a CAN-based diagnostic connection, the diagnostic application does not normally read an OBD2 PID as though the PID were a native CAN signal. The diagnostic request and response use diagnostic communication rules. The underlying ECU application data might originate from internal software variables or signals.
OBD2 PID vs DBC Signal
An OBD2 PID and a DBC signal both involve interpreting bytes, but they belong to different layers and use different definitions.
| Feature | OBD2 PID | DBC Signal |
|---|---|---|
| Purpose | Diagnostic parameter access | Vehicle network signal description |
| Identifier | PID within a diagnostic service | CAN message ID plus signal definition |
| Payload definition | Defined by the PID specification | Defined by the DBC database |
| Scaling | PID-specific formula | Signal factor and offset |
| Typical access | Diagnostic request and response | Periodic/event CAN message reception |
| Example | Mode 01 PID 0x0C | EngineSpeed signal in a CAN message |
| Ownership | Standardized diagnostic interface | Vehicle/OEM network database |
OBD2 Data to DBC Conversion Concept
A DBC database describes CAN messages and signals. It does not replace the OBD2 PID definition. If you are building a gateway, logger or diagnostic application, keep the diagnostic mapping separate from the native CAN signal database.
OBD2 PID = 0x0C
Formula = ((A * 256) + B) / 4
Unit = “rpm”
// Native CAN layer
CAN Message ID = 0x280
Signal = “EngineSpeed”
Start Bit = 16
Length = 16
Factor = 0.25
Offset = 0
Unit = “rpm”
CSV Format for an OBD2 PID Database
CSV is useful when building a lightweight PID lookup database, test automation input, spreadsheet reference or software import file.
DBC-Oriented Engineering View
When engineers work with vehicle CAN databases, they often need to map diagnostic concepts to native CAN signals. A DBC-style signal definition normally includes a CAN message identifier, signal start bit, signal length, byte order, signedness, factor, offset and physical limits.
| DBC Field | Meaning | Example |
|---|---|---|
| Message ID | CAN identifier carrying the signal | 0x280 |
| Signal Name | Logical signal name | EngineSpeed |
| Start Bit | Location of the signal in the CAN payload | 16 |
| Length | Number of signal bits | 16 |
| Byte Order | Intel or Motorola representation | Project-specific |
| Factor | Raw-to-physical scaling | 0.25 |
| Offset | Physical-value offset | 0 |
| Unit | Engineering unit | rpm |
OBD2 Diagnostic Sequence
Tester Identifies the Required PID
The diagnostic application selects the service and PID, such as Mode 01 PID 0x0C for engine speed.
Tester Sends the Request
The request is transported through the vehicle diagnostic interface. For CAN-based OBD communication, the request is carried through CAN diagnostic addressing and transport rules.
ECU Processes the PID
The diagnostic software identifies the requested PID and obtains the corresponding current data from the ECU application.
ECU Builds the Response
The ECU encodes the physical value into the PID-defined response bytes.
Tester Decodes the Bytes
The diagnostic application applies the PID conversion formula and displays the physical value.
Common OBD2 PID Debugging Problems
PID Not Supported
The ECU or vehicle does not support the requested PID. Check the supported-PID bitmap before treating the request as a fault.
Wrong Formula
A raw response is decoded with the wrong scaling rule, producing an incorrect physical value.
Wrong Byte Order
Multi-byte parameters require the correct byte order. Swapping A and B produces a different raw value.
Stale Data
A correct response does not guarantee a fresh application value. Check ECU data acquisition and update timing when validating live data.
Confusing PID With CAN ID
A PID identifies a diagnostic parameter. A CAN identifier identifies a CAN frame used by the communication system.
Mixing OBD2 and OEM Data
OEM-specific diagnostic services and proprietary CAN signals often use different definitions from standardized OBD2 PIDs.
Recommended PID Debugging Workflow
Tester Side
- Confirm physical connection.
- Confirm diagnostic addressing.
- Confirm service and PID.
- Check supported-PID response.
- Capture the complete response.
- Decode bytes independently.
ECU Side
- Verify diagnostic service configuration.
- Verify PID implementation.
- Check source application signal.
- Check scaling and encoding.
- Check response timing.
- Compare with internal ECU data.
OBD2 PID, UDS and DBC: Do Not Mix the Layers
| Concept | Primary Role | Example |
|---|---|---|
| OBD2 PID | Standardized vehicle diagnostic parameter | Mode 01 PID 0x0C |
| UDS Service | General diagnostic application protocol | 0x22 ReadDataByIdentifier |
| CAN Identifier | Identifies a CAN frame for communication/arbitration | 0x7E8 |
| CAN Signal | Application data encoded inside a CAN frame | EngineSpeed |
| DBC | Database description of CAN messages and signals | Message and signal definitions |
Interview Questions
A Parameter ID identifies a diagnostic parameter within an OBD2 service.
Mode 01 requests current powertrain-related diagnostic data.
The positive response service is Mode 01 plus 0x40, giving 0x41.
Engine speed uses two data bytes: ((A × 256) + B) / 4, producing rpm.
PID 0x0D represents vehicle speed. The response byte is interpreted directly as km/h.
The PID identifies a diagnostic parameter. The CAN ID identifies a CAN frame used by the communication network.
A DBC is a CAN database format used to describe messages and signals, including positions, lengths, byte order, scaling and units.
No. Supported PIDs depend on the vehicle, ECU configuration and applicable OBD requirements.
Raw bytes allow engineers to independently verify the conversion formula, byte order and response structure.
No. They are different diagnostic concepts with different definitions and protocol contexts.