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.
-
-
-
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
Paste an identifier such as 18EEFF00. The decoder extracts priority, PGN, destination and source address.
Paste the J1939 NAME exactly as transmitted on CAN, with its least-significant byte first.
The tool checks whether the identifier represents the Address Claimed parameter group.
Identity Number, Manufacturer Code, instances, Function, Vehicle System, Industry Group and AAC are extracted independently.
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.
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.
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 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.
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.
Industry Group and Vehicle System Instance
The final NAME byte combines Vehicle System Instance, Industry Group and the Arbitrary Address Capable flag.
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:
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.
CAN ID 18EEFFxx Explained
Address Claimed frames are often visible in CAN logs with identifiers similar to:
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.
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?
How many bytes are in a J1939 NAME?
Is J1939 NAME little endian?
Where is the claimed source address?
How many bits are in the J1939 Identity Number?
How many bits are in the Manufacturer Code?
What is ECU Instance?
What is Function Instance?
What is the J1939 Function field?
What is Industry Group?
What does AAC mean?
What is the maximum J1939 Manufacturer Code value?
What is the maximum Identity Number?
Can this tool create NAME bytes?
Does this identify the manufacturer company automatically?
Why does the tool warn when the PGN is not 60928?
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.