OBD-II PID Raw Data Decoder
Decode common OBD-II Mode 01 raw PID bytes into engineering values such as engine RPM, vehicle speed, coolant temperature, throttle position, fuel level, intake manifold pressure, timing advance, mass air flow and control-module voltage.
—
What Is an OBD-II PID Raw Data Decoder?
An OBD-II PID Raw Data Decoder converts hexadecimal bytes returned by a vehicle’s OBD-II system into engineering values. In Mode 01, each Parameter ID identifies a current-data item such as engine speed, vehicle speed, temperature, throttle position or fuel level.
The response bytes themselves are usually not the final displayed value. Standardized equations define how raw bytes A, B, C and D must be scaled.
OBD-II Mode 01 Response Format
Request:
01 0C
01:
Mode 01 — Current Data
0C:
Engine RPM PID
Typical response application bytes:
41 0C 1A F8
41:
Positive response to Mode 01
0C:
PID
1A F8:
Raw data bytes A and BEngine RPM PID 0x0C
Engine RPM uses two raw bytes. Byte A forms the high byte and B forms the low byte.
Formula:
RPM =
(256 × A + B) / 4
Example:
A = 0x1A = 26
B = 0xF8 = 248
256 × 26 + 248
= 6904
6904 / 4
= 1726 RPMVehicle Speed PID 0x0D
Vehicle speed is one of the simplest standard PIDs. Its single byte directly represents speed in kilometres per hour.
Raw:
64 hex
Decimal:
100
Vehicle Speed:
100 km/h
Approximate mph:
62.14 mphCoolant Temperature PID 0x05
Formula:
Coolant Temperature °C =
A - 40
Example:
A = 0x7B
= 123 decimal
123 - 40
= 83°CThe same offset formula is also used by several standardized OBD-II temperature PIDs.
Throttle Position PID 0x11
Absolute throttle position uses one byte scaled to a percentage.
Throttle % =
A × 100 / 255
A = 0x80
= 128
Throttle =
128 × 100 / 255
≈ 50.196%Mass Air Flow PID 0x10
The Mass Air Flow sensor PID uses two bytes and reports grams per second.
MAF =
(256 × A + B) / 100
Example:
A = 0x01
B = 0xF4
Raw 16-bit value =
500
MAF =
5.00 g/sCommon OBD-II Mode 01 PID Formulas
| PID | Parameter | Bytes | Formula |
|---|---|---|---|
| 0x04 | Calculated Engine Load | 1 | A × 100 / 255 % |
| 0x05 | Engine Coolant Temperature | 1 | A − 40 °C |
| 0x0A | Fuel Pressure | 1 | A × 3 kPa |
| 0x0B | Intake Manifold Absolute Pressure | 1 | A kPa |
| 0x0C | Engine RPM | 2 | (256A + B) / 4 |
| 0x0D | Vehicle Speed | 1 | A km/h |
| 0x0E | Timing Advance | 1 | A / 2 − 64 degrees |
| 0x0F | Intake Air Temperature | 1 | A − 40 °C |
| 0x10 | Mass Air Flow | 2 | (256A + B) / 100 g/s |
| 0x11 | Throttle Position | 1 | A × 100 / 255 % |
| 0x2F | Fuel Tank Level Input | 1 | A × 100 / 255 % |
| 0x33 | Absolute Barometric Pressure | 1 | A kPa |
| 0x42 | Control Module Voltage | 2 | (256A + B) / 1000 V |
| 0x46 | Ambient Air Temperature | 1 | A − 40 °C |
| 0x5C | Engine Oil Temperature | 1 | A − 40 °C |
OBD-II PID vs UDS DID
An OBD-II PID and a UDS Data Identifier are not the same field. Standard OBD-II Mode 01 generally uses a one-byte PID, while UDS ReadDataByIdentifier uses two-byte DIDs.
OBD-II:
01 0C
→ Engine RPM PID 0x0C
UDS:
22 F1 90
→ ReadDataByIdentifier DID 0xF190Manufacturer-Specific OBD Data
Vehicles can expose enhanced diagnostic parameters beyond the universally standardized OBD-II PID formulas. Their identifiers, scaling, offsets, byte order and units can vary by manufacturer, ECU and model.
This decoder therefore reports unsupported PIDs as unknown instead of applying a formula belonging to a different parameter.
OBD-II PID Raw Data Decoder FAQs
What is an OBD-II PID?
What does Mode 01 mean?
What is PID 0x0C?
How is OBD-II RPM calculated?
What is PID 0x0D?
What is PID 0x05?
What does response byte 0x41 mean?
Should I include CAN or ISO-TP headers?
Can every vehicle PID be decoded?
Is PID 0xF190 a VIN PID?
Decode OBD-II Mode 01 Sensor Data
Convert standardized OBD-II raw PID bytes into RPM, speed, temperatures, percentages, pressure, airflow, voltage and other useful live-data values without guessing proprietary ECU formulas.