CAN Bus and J1939 Decoder
Online CAN Bus and J1939 decoder with ID parsing, signal extraction, log analysis, DBC decoding, and TP reassembly for ECU development, vehicle diagnostics, and fleet telemetry operations.
CAN ID Decoder
Decode CAN ID and extract J1939 fields including priority, PGN, source address, destination address, and PDU format.
Guide
This tool supports CAN and SAE J1939 protocol analysis, covering ID decoding, signal extraction, log parsing, DBC decoding, and TP reassembly.
J1939 Overview
SAE J1939 is built on 29-bit extended CAN identifiers and is widely used in heavy-duty vehicles for real-time communication and diagnostics.
J1939 Identifier Structure
The 29-bit identifier contains Priority, EDP, DP, PF, PS, and SA fields. PF decides PDU1/PDU2 behavior and affects PGN/address interpretation.
PGN (Parameter Group Number)
PGN identifies message semantics and data purpose, serving as a core routing and meaning field in J1939.
When PF < 240, the frame is PDU1 and PS is destination address; when PF >= 240, the frame is PDU2 and PS becomes part of PGN.
Signal Extraction
One 8-byte CAN frame can contain multiple signals, each defined by start bit, length, byte order, and value type.
Physical value formula: Physical = Raw × Factor + Offset.
Common J1939 PGNs
- PGN 65262 (0xFEEE): Engine Temperature 1
- PGN 61444 (0xF004): Electronic Engine Controller 1
- PGN 65265 (0xFEF1): Cruise Control / Vehicle Speed
- PGN 65269 (0xFEF5): Ambient Conditions
- PGN 65263 (0xFEEF): Engine Fluid Level / Pressure
Use Cases
- ECU development and integration validation
- Vehicle diagnostics and communication troubleshooting
- Fleet telemetry for fuel and maintenance analytics
- Powertrain calibration and test verification
- Protocol learning with real CAN/J1939 frames
Byte Order
Intel (little-endian) and Motorola (big-endian) follow different bit ordering rules. Correct selection is critical for accurate decoding.
Feature Overview
- ID decode for 29-bit J1939 and 11-bit standard CAN
- Bit-level extraction with signed/unsigned/float support
- Log parser for candump/ASC/TRC and CSV export
- DBC message/signal/node browsing and quick decode
DBC Support
DBC files define messages, signals, nodes, comments, attributes, and value maps. This tool supports common Vector CANdb++ syntax.
After loading, you can search messages/signals, inspect node transmit relations, and decode raw CAN payload with predefined signal definitions.
Supported Input Formats
Hex with spaces: FF 00 11 22 33 44 55 66Hex compact: FF00112233445566Base64: /wARIjNEVWY=C/C++ array: 0xFF, 0x00, 0x11, 0x22, ...
Log Formats
candump: (1234567890.123456) can0 18FEF100#FF00112233445566Vector ASC: 0.000000 1 18FEF100x Rx d 8 FF 00 11 22 33 44 55 66PCAN TRC: 1) 1234.5 18FEF100 8 FF 00 11 22 33 44 55 66
Transport Protocol (TP)
J1939 TP supports payloads larger than 8 bytes. Enabling TP reassembly reconstructs complete BAM/CMDT payloads automatically.