N2K Marine CAN Utility

NMEA 2000 PGN Decoder

Decode a 29-bit NMEA 2000 CAN identifier into priority, PGN, source address, destination address, PDU format and PDU specific fields. Optionally enter payload bytes to inspect raw NMEA 2000 message data and recognize common PGNs.

✓ 29-bit CAN ID ✓ PGN ✓ Priority ✓ Source ✓ Destination ✓ Payload
PGN
NMEA 2000 Message Decode
● Ready
Hexadecimal extended CAN ID. Examples: 09F80117 or 0x09F80117.
NMEA 2000 uses the extended 29-bit CAN identifier format.
Enter up to 8 bytes for a single CAN data frame. Longer NMEA 2000 messages require transport reassembly before full application decoding.
Important: NMEA 2000 uses SAE J1939-style 29-bit CAN identifiers. For PDU1 messages (PF below 240), the destination byte is not part of the PGN and the PGN’s least-significant byte is zero. For PDU2 messages (PF 240 or above), the PDU Specific byte is part of the PGN and the message is normally broadcast.
NMEA 2000 PGN Decode Result Decoded
Decoded PGN
PGN
PGN Name
Priority
Source Address
Destination
PDU Format
PDU Specific
Data Page
PDU Type
CAN ID
Payload Length
Transport Note
Normalized Payload
CAN ID / PGN Breakdown

What Is an NMEA 2000 PGN Decoder?

An NMEA 2000 PGN Decoder extracts the Parameter Group Number and addressing information from the 29-bit CAN identifier used by an NMEA 2000 marine network. The identifier contains fields such as priority, data page, PDU format, PDU specific and source address.

The PGN identifies the type of information carried by a message. Examples include vessel heading, position, speed, GNSS data, engine parameters, environmental information and network-management messages.

NMEA 2000 29-bit CAN Identifier

29-bit identifier concept: Priority Reserved Data Page PDU Format PDU Specific Source Address These fields determine: • message priority • PGN • source node • destination for PDU1 messages

NMEA 2000 uses the extended CAN identifier rather than the standard 11-bit CAN identifier.

How the NMEA 2000 PGN Is Calculated

The PGN calculation depends on the PDU Format value. This distinction is important because simply taking the middle bytes of the CAN identifier can produce the wrong PGN for destination-specific messages.

If PF < 240: PDU1 format PGN = (Data Page << 16) | (PDU Format << 8) PDU Specific = Destination Address If PF ≥ 240: PDU2 format PGN = (Data Page << 16) | (PDU Format << 8) | PDU Specific

PDU1 vs PDU2 in NMEA 2000

Property PDU1 PDU2
PDU Format 0–239 240–255
PDU Specific Destination PGN group extension
PGN Low Byte 00 PDU Specific
Addressing Destination-specific possible Normally broadcast

Common NMEA 2000 PGNs

PGN Typical Description
59392 ISO Acknowledgement
59904 ISO Request
60928 ISO Address Claim
126208 NMEA Group Function
126464 PGN List
126996 Product Information
127245 Rudder
127250 Vessel Heading
127251 Rate of Turn
127257 Attitude
127488 Engine Parameters, Rapid Update
127489 Engine Parameters, Dynamic
128259 Speed, Water Referenced
128267 Water Depth
129025 Position, Rapid Update
129026 COG & SOG, Rapid Update
129029 GNSS Position Data
129539 GNSS DOPs
129540 GNSS Satellites in View
130306 Wind Data
130310 Environmental Parameters

NMEA 2000 Priority

The CAN identifier includes a three-bit priority field. Lower numerical values represent higher CAN arbitration priority.

Priority range: 0 through 7 0 = highest numerical arbitration priority 7 = lowest numerical arbitration priority

Priority is separate from the PGN itself. Two CAN identifiers can therefore carry the same PGN while using different source addresses or priorities.

NMEA 2000 Source Address

The least-significant eight bits of the CAN identifier contain the source address. This identifies the network address currently used by the transmitting device.

Source Address: 8 bits Range: 0–255 Example: 0x17 = decimal 23

NMEA 2000 Destination Address

A destination address is directly encoded in the PDU Specific field only for PDU1 messages. If the PDU Format is less than 240, the PDU Specific byte is interpreted as the destination address.

For PDU2 messages, the same byte contributes to the PGN instead, so the calculator displays the destination as broadcast rather than incorrectly treating the group-extension byte as an address.

Single-Frame and Multi-Packet NMEA 2000 Messages

A classical CAN data frame carries up to eight payload bytes. Some NMEA 2000 parameter groups require more data than can fit into one frame and therefore use an NMEA 2000 transport mechanism such as Fast Packet or ISO transport.

A single captured CAN frame from a multi-packet message does not necessarily contain the complete application payload. Such messages must be reassembled before all application fields can be interpreted correctly.

PGN vs CAN Identifier

The PGN and the complete CAN identifier are not interchangeable. A PGN describes a parameter group, while the 29-bit identifier additionally contains priority and source-address information and, for PDU1 traffic, a destination address.

CAN Identifier ↓ Priority + addressing + PGN fields ↓ PGN ↓ Message type / parameter group

Why Payload Bytes Cannot Always Be Decoded Automatically

The PGN determines the standardized layout for known NMEA 2000 parameter groups, but proprietary PGNs can use manufacturer-specific structures. Multi-frame payloads also need to be correctly reassembled before interpreting their fields.

For that reason, this tool always provides the raw normalized payload and CAN-ID structure even when it does not have a safe application-level decoder for the selected PGN.

NMEA 2000 PGN Decoder FAQs

What is a PGN in NMEA 2000?
PGN means Parameter Group Number. It identifies the type and layout of a message carried on the NMEA 2000 network.
Does NMEA 2000 use standard or extended CAN IDs?
NMEA 2000 uses 29-bit extended CAN identifiers.
What is PDU Format?
PDU Format is an eight-bit identifier field that helps determine the PGN and whether the PDU Specific byte represents a destination or group extension.
What happens when PF is below 240?
The message uses PDU1 formatting. The PDU Specific byte acts as the destination address and is not included in the low byte of the PGN.
What happens when PF is 240 or higher?
The message uses PDU2 formatting. The PDU Specific byte becomes part of the PGN.
What is PGN 129025?
PGN 129025 is commonly used for Position, Rapid Update.
What is PGN 127250?
PGN 127250 is Vessel Heading.
What is PGN 129026?
PGN 129026 carries COG and SOG Rapid Update information.
Can an NMEA 2000 message exceed eight bytes?
Yes. NMEA 2000 provides transport mechanisms for parameter groups whose application payload is larger than a single eight-byte classical CAN frame.
Can this decoder identify proprietary marine data?
It can extract the PGN and CAN identifier structure, but proprietary payload semantics require the appropriate manufacturer specification.

Decode NMEA 2000 CAN IDs and PGNs

Extract NMEA 2000 priority, Parameter Group Number, source address, destination information, PDU fields and raw payload bytes from extended marine CAN messages.

Scroll to Top