J1939 PGN Calculator & Decoder

Free online tool to decode, convert, and look up J1939 Parameter Group Numbers. Enter a PGN in decimal or hex, or paste a full 29-bit CAN ID, and instantly see the priority, data page, PDU format, PDU specific, source address, and all associated SPN definitions.

Open PGN Calculator

J1939 PGN Calculator — decoding PGN 61443 (EEC2) showing field breakdown (priority, DP, PF, PS) and SPN list including Accelerator Pedal Position, Engine Percent Load at Current Speed, and Road Speed Limit Status

What the PGN Calculator Does

Decode PGN → Fields

Enter a PGN number (e.g. 61444) and get the full breakdown: data page, PDU format (PF), PDU specific (PS), PDU1 vs PDU2 classification, and the parameter group name and acronym from the J1939 database.

CAN ID → PGN Conversion

Paste a 29-bit CAN ID in hex (e.g. 0x0CF00400) and extract the embedded PGN, priority, source address, and destination. Handles both PDU1 (peer-to-peer) and PDU2 (broadcast) frames automatically.

Build PGN → CAN ID

Set priority, PGN, and source address to construct the full 29-bit extended CAN ID. Useful when configuring transmit messages in ECU software or CAN bus analyzers.

J1939 PGN List & SPN Lookup

Browse the searchable PGN database with parameter group definitions, transmission rates, and data lengths. Each PGN links to its SPN list with scaling factors, bit positions, units, and valid ranges.

Batch Decode

Paste multiple CAN IDs from a log file or trace capture and decode them all at once. Identify which J1939 PGNs are on the bus without decoding one by one.

No Software Required

Runs entirely in your browser. No downloads, no license keys, no Java runtime — open a tab and start decoding. Works on desktop, tablet, and mobile.

How J1939 PGN Decoding Works

In SAE J1939, every CAN message uses a 29-bit extended identifier. Unlike standard 11-bit CAN, the J1939 identifier encodes structured information about the message content, its priority, and the sending ECU.

29-Bit CAN ID Structure

The 29-bit identifier is divided into fields:

FieldBitsDescription
Priority3Message priority (0 = highest, 7 = lowest). Engine control messages typically use priority 3.
Reserved1Reserved bit, always 0 in J1939.
Data Page (DP)1Selects between page 0 (standard J1939) and page 1 (extended).
PDU Format (PF)8Determines the message type. PF < 240 = PDU1 (peer-to-peer), PF ≥ 240 = PDU2 (broadcast).
PDU Specific (PS)8In PDU1: destination address. In PDU2: group extension (part of the PGN).
Source Address (SA)8Address of the ECU transmitting the message (0–253).

PGN Extraction from a CAN ID

The Parameter Group Number (PGN) is extracted differently depending on the PDU type:

  • PDU2 (PF ≥ 240): PGN = DP + PF + PS — the PS field is a group extension, so it’s part of the PGN. Example: CAN ID 0x18FEF200 → PGN 65266 (FMS/Fuel Economy).
  • PDU1 (PF < 240): PGN = DP + PF only — PS is the destination address, not part of the PGN. Example: CAN ID 0x0CF00400 → PGN 61444 (EEC1), destination = global (broadcast).

Common J1939 PGNs

PGNAcronymNameKey SPNs
61444EEC1Electronic Engine Controller 1Engine Speed (190), Engine Torque (513)
61443EEC2Electronic Engine Controller 2Accelerator Pedal Position (91), Engine Load (92)
65262ET1Engine Temperature 1Engine Coolant Temp (110), Fuel Temp (174)
65263EFL/P1Engine Fluid Level/Pressure 1Oil Pressure (100), Coolant Level (111)
65265CCVSCruise Control/Vehicle SpeedWheel-Based Vehicle Speed (84)
65266LFEFuel Economy (Liquid)Fuel Rate (183), Instant Fuel Economy (184)
65269AMBAmbient ConditionsBarometric Pressure (108), Ambient Air Temp (171)
65270IC1Inlet/Exhaust Conditions 1Boost Pressure (102), Intake Temp (105)
65271VEP1Vehicle Electrical Power 1Battery Voltage (168), Alternator Current (114)
65279DM1Active Diagnostic Trouble CodesSPN + FMI + OC (fault codes)

Search the full J1939 PGN list in the calculator →

J1939 SPN List & Lookup

Each PGN contains one or more Suspect Parameter Numbers (SPNs). An SPN defines a single signal within the 8-byte data payload — its bit position, length, scaling factor, offset, unit, and valid range.

For example, PGN 61444 (EEC1) contains SPN 190 (Engine Speed) at bytes 4–5 with a resolution of 0.125 RPM/bit, giving a range of 0–8,031.875 RPM.

The PGN Calculator shows every SPN for each decoded PGN, making it a complete J1939 SPN reference that you can search by PGN number, name, or SPN number.

Frequently Asked Questions

What is a J1939 PGN?

A Parameter Group Number (PGN) is a unique identifier in the SAE J1939 protocol that defines a group of related parameters. For example, PGN 61444 is “Electronic Engine Controller 1” and contains engine speed, torque, and starter mode. PGNs range from 0 to 131,071 and are embedded within the 29-bit CAN identifier.

How do I convert a CAN ID to a PGN?

Extract bits 8–25 of the 29-bit CAN identifier. If the PDU Format (PF) field is 240 or higher (PDU2), the PGN includes the PDU Specific (PS) byte as a group extension. If PF is below 240 (PDU1), the PS byte is the destination address and is NOT part of the PGN. Our CAN ID to PGN converter handles this automatically.

What is the difference between PDU1 and PDU2?

PDU1 (PF < 240) messages are peer-to-peer — the PS field specifies which ECU the message is addressed to (or 0xFF for global broadcast). PDU2 (PF ≥ 240) messages are always broadcast, and the PS field extends the PGN number. Most common J1939 messages (EEC1, CCVS, temperatures) are PDU2.

What is a J1939 SPN?

A Suspect Parameter Number (SPN) identifies a single data signal within a PGN’s 8-byte payload. Each SPN defines the bit position, length, resolution, offset, and unit. For example, SPN 190 is “Engine Speed” with 0.125 RPM/bit resolution. SPNs are also used in Diagnostic Trouble Codes (DTCs) alongside a Failure Mode Identifier (FMI).

Is this PGN calculator free?

Yes. PGN decoding, CAN ID conversion, and PGN lookup are free with no account required. Pro features include batch decoding from log files, the full searchable PGN database, and building CAN IDs from custom fields.

Start Decoding J1939 PGNs

No download. No signup required for basic decoding. Open the calculator and paste a PGN or CAN ID.

Open PGN Calculator

Need to understand J1939 at a deeper level? Our CAN Troubleshooting course covers J1939 protocol analysis, PGN/SPN interpretation, and real-world diagnostic techniques.