60928 J1939 Network Management

J1939 Address Claim Decoder

Decode a J1939 Address Claimed message, including the 29-bit CAN identifier, claimed source address and complete 64-bit J1939 NAME. Extract the manufacturer code, identity number, function, ECU instance, industry group, vehicle system and Arbitrary Address Capable bit.

✓ PGN 60928 ✓ 64-Bit NAME ✓ Source Address ✓ Manufacturer Code ✓ NAME Encoder
NAME
Decode / Build J1939 Address Claim
● Ready
Example Address Claimed identifier: 18EEFF00. 0x prefix is accepted.
Enter eight NAME bytes in CAN transmission order, least-significant byte first.
Address Claimed: PGN 60928 (0x00EE00) carries eight NAME bytes. The source-address field of the 29-bit CAN identifier identifies the address being claimed.
J1939 Address Claim Result PGN 60928
Decoded NAME
Source Address
PGN
Identity Number
Manufacturer Code
ECU Instance
Function Instance
Function
Vehicle System
Reserved
Vehicle System Inst.
Industry Group
Arbitrary Address
CAN Identifier Breakdown -
64-Bit NAME Breakdown -
NAME Bytes
-

What Is a J1939 Address Claim Decoder?

A J1939 Address Claim Decoder interprets the network-management message used by an SAE J1939 controller application to associate a source address with its 64-bit NAME. Address claiming allows devices sharing the same CAN network to determine which node owns a particular source address.

The J1939 Address Claimed message uses PGN 60928, hexadecimal 0x00EE00, and carries an eight-byte NAME. The source-address field in the 29-bit CAN identifier represents the address that the controller application is claiming.

This tool decodes both parts: the CAN identifier and the NAME bytes. It also provides a reverse NAME builder so developers can enter individual NAME fields and generate the corresponding eight-byte representation.

How to Decode a J1939 Address Claim

Enter the 29-bit CAN identifier

Paste an identifier such as 18EEFF00. The decoder extracts priority, PGN, destination and source address.

Enter the eight NAME bytes

Paste the J1939 NAME exactly as transmitted on CAN, with its least-significant byte first.

Decode PGN 60928

The tool checks whether the identifier represents the Address Claimed parameter group.

Extract the NAME fields

Identity Number, Manufacturer Code, instances, Function, Vehicle System, Industry Group and AAC are extracted independently.

Inspect the bit breakdown

The result shows exactly which bits and bytes contribute to each field.

J1939 Address Claimed PGN 60928

Address Claimed uses parameter group number 60928, which is hexadecimal 0x00EE00. Its CAN identifier is a 29-bit J1939 identifier using PDU Format 0xEE.

A familiar example is: 18EEFF00 Decoded: Priority = 6 PF = 0xEE PS = 0xFF PGN = 0x00EE00 SA = 0x00 Therefore the controller is transmitting Address Claimed from source address: 0x00

What Is the J1939 NAME?

Every J1939 controller application participating in network management uses a 64-bit NAME. The NAME provides a structured identity for the controller and also supplies a numerical value that can participate in address-claim arbitration.

The NAME contains ten individual fields totaling exactly 64 bits.

NAME Field Bits Range
Identity Number 21 0–2,097,151
Manufacturer Code 11 0–2,047
ECU Instance 3 0–7
Function Instance 5 0–31
Function 8 0–255
Reserved 1 0–1
Vehicle System 7 0–127
Vehicle System Instance 4 0–15
Industry Group 3 0–7
Arbitrary Address Capable 1 0–1

J1939 NAME Byte Layout

The eight-byte NAME is transmitted in little-endian order, meaning the least-significant byte appears first in the CAN data payload.

Byte Contents
Byte 1 Identity Number bits 7–0
Byte 2 Identity Number bits 15–8
Byte 3 Identity Number upper 5 bits + Manufacturer Code lower 3 bits
Byte 4 Manufacturer Code upper 8 bits
Byte 5 ECU Instance lower 3 bits + Function Instance upper 5 bits
Byte 6 Function
Byte 7 Reserved bit + 7-bit Vehicle System
Byte 8 Vehicle System Instance + Industry Group + AAC

How to Decode the J1939 Identity Number

The Identity Number occupies the least-significant 21 bits of NAME. It spans the first two complete payload bytes and the lower five bits of byte three.

For transmitted NAME bytes B1 through B8: Identity Number = B1 | (B2 << 8) | ((B3 & 0x1F) << 16)

Because the field is 21 bits wide, its maximum numerical value is 2,097,151.

How to Decode the J1939 Manufacturer Code

The Manufacturer Code occupies 11 bits immediately above the Identity Number. Its lowest three bits appear in the upper three bits of byte three, and its remaining eight bits occupy byte four.

Manufacturer Code = (B3 >> 5) | (B4 << 3)

Manufacturer codes are assigned identifiers. A numerical Manufacturer Code therefore should not be guessed into a company name unless a reliable manufacturer-code reference is available.

ECU Instance and Function Instance

Byte five of the NAME contains two separate fields.

Lower three bits: ECU Instance = B5 & 0x07 Upper five bits: Function Instance = (B5 >> 3) & 0x1F

Instances allow multiple controller applications performing similar roles to be distinguished within the same J1939 system.

J1939 Function Field

Byte six contains the eight-bit Function field. Function contributes to the functional description of the controller application.

The numerical Function value alone should not always be interpreted without the corresponding Industry Group and Vehicle System because J1939 function assignment and meaning can depend on those fields.

Vehicle System and Reserved Bit

Byte seven contains the one-bit reserved field in its least-significant position and Vehicle System in the remaining seven bits.

Reserved = B7 & 0x01 Vehicle System = (B7 >> 1) & 0x7F

Industry Group and Vehicle System Instance

The final NAME byte combines Vehicle System Instance, Industry Group and the Arbitrary Address Capable flag.

Vehicle System Instance = B8 & 0x0F Industry Group = (B8 >> 4) & 0x07 Arbitrary Address Capable = (B8 >> 7) & 0x01

What Does Arbitrary Address Capable Mean?

The Arbitrary Address Capable field indicates whether a controller application can select another suitable address when address-claim conflict resolution requires it.

AAC = 1

The controller application indicates that it is capable of using an arbitrary address as part of conflict resolution.

AAC = 0

The controller application does not indicate arbitrary-address capability. Its address behavior therefore follows the applicable J1939 network-management rules for that device.

J1939 Address Claim Example

Consider this CAN frame:

CAN identifier: 18EEFF00 NAME bytes: D0 6B 01 01 00 00 00 80 The identifier decodes as: PGN = 0x00EE00 SA = 0x00 The NAME is decoded from its individual bit fields rather than interpreted as eight unrelated data bytes.

The example is particularly useful for confirming that the decoder is treating NAME as little-endian data: byte one contains the least-significant identity bits, while AAC is located in the most-significant bit of byte eight.

How J1939 Address Claiming Works

J1939 nodes cannot simply assume that the same source address is available every time a network starts. Network-management rules provide an address claiming process so controller applications can establish ownership of source addresses.

An Address Claimed message associates the transmitting source address with the controller application’s 64-bit NAME. If multiple controller applications attempt to use the same source address, their NAME values participate in conflict resolution.

A numerically lower NAME has higher priority during an address-claim conflict. The NAME is therefore both a structured identity and an arbitration value.

CAN ID 18EEFFxx Explained

Address Claimed frames are often visible in CAN logs with identifiers similar to:

18EEFF00 18EEFF03 18EEFF80 The common EE portion corresponds to the Address Claimed parameter group. The final byte is the source address.

For example, in 18EEFF03, the source address is hexadecimal 03.

J1939 Address Claim vs NAME

Source Address

A relatively short network address carried in the source-address portion of the CAN identifier and used for ordinary J1939 communication.

64-Bit NAME

A structured identity associated with the controller application and used by the network-management address claiming process.

The two should not be confused. Different network sessions may involve address selection behavior, while NAME provides the controller application’s structured identity for J1939 network management.

Why Byte Order Matters

A very common J1939 NAME decoding mistake is reading the eight transmitted bytes as though byte one were the most-significant byte. The NAME is sent least-significant byte first.

For example, the Identity Number begins in byte one, while the highest-order NAME fields such as Industry Group and AAC appear in byte eight.

Do not reverse the individual bit layout after copying the bytes from a CAN trace. Enter the eight data bytes in the same order in which they appear in the Address Claimed message.

Common J1939 Address Claim Decoding Mistakes

Reversing NAME Bytes

J1939 NAME is transmitted least-significant byte first.

Using the Entire CAN ID as PGN

The source address and other identifier fields are not themselves part of the PGN value.

Reading Byte 3 as One Field

Byte three contains both upper Identity Number bits and lower Manufacturer Code bits.

Reading Byte 5 as One Field

Byte five contains both ECU Instance and Function Instance.

Ignoring the Reserved Bit

Byte seven contains a separate reserved bit in addition to Vehicle System.

Guessing Manufacturer Names

A decoded numerical manufacturer code should be cross-referenced against an authoritative assignment list rather than guessed.

J1939 Address Claim Decoder FAQs

What is the J1939 Address Claimed PGN?
Address Claimed uses PGN 60928, hexadecimal 0x00EE00.
How many bytes are in a J1939 NAME?
A J1939 NAME is 64 bits long, which equals eight bytes.
Is J1939 NAME little endian?
The NAME is transmitted least-significant byte first in the Address Claimed message.
Where is the claimed source address?
The claimed source address is the source-address field in the 29-bit CAN identifier of the Address Claimed message.
How many bits are in the J1939 Identity Number?
Identity Number occupies 21 bits of the 64-bit NAME.
How many bits are in the Manufacturer Code?
Manufacturer Code occupies 11 bits.
What is ECU Instance?
ECU Instance is a three-bit field used to distinguish ECU instances associated with a controller application.
What is Function Instance?
Function Instance is a five-bit field used to distinguish multiple instances of a particular function within the applicable system context.
What is the J1939 Function field?
Function is an eight-bit NAME field used as part of the functional description of the controller application.
What is Industry Group?
Industry Group is a three-bit NAME field identifying the broad industry group associated with the J1939 controller application.
What does AAC mean?
AAC means Arbitrary Address Capable. It indicates whether the controller application can use an arbitrary source address as part of address conflict resolution.
What is the maximum J1939 Manufacturer Code value?
The 11-bit field can numerically represent values from 0 through 2047.
What is the maximum Identity Number?
The 21-bit Identity Number field can represent values from 0 through 2,097,151.
Can this tool create NAME bytes?
Yes. Switch to Build NAME Bytes and enter the individual NAME fields to produce the corresponding eight transmitted bytes.
Does this identify the manufacturer company automatically?
The tool extracts the numerical Manufacturer Code. Manufacturer assignments should be checked against an authoritative J1939 manufacturer-code list.
Why does the tool warn when the PGN is not 60928?
The 64-bit NAME layout can still be decoded as bytes, but a CAN identifier whose extracted PGN is not 60928 is not an Address Claimed frame.

Decode J1939 Address Claims and 64-Bit NAMEs

Enter a J1939 Address Claimed CAN identifier and eight NAME bytes to extract PGN, source address, Identity Number, Manufacturer Code, Function, instances, Vehicle System, Industry Group and Arbitrary Address Capable status.

Scroll to Top