EPATH EtherNet/IP CIP Utility

EtherNet/IP CIP Path Decoder

Use this EtherNet/IP CIP Path Decoder to decode raw CIP EPATH bytes into Class, Instance, Attribute, Member and ANSI symbolic tag segments. Inspect segment sizes, integer values, symbolic names, padding and total path words.

✓ Class Segment ✓ Instance Segment ✓ Attribute Segment ✓ Member Segment ✓ Symbolic Tag
PATH
Decode CIP EPATH Bytes
● Ready
Enter hexadecimal path bytes. Spaces, commas, hyphens and 0x prefixes are accepted. Do not include the CIP service byte or Request Path Size byte unless you specifically intend to inspect them as path data.
Scope: This decoder focuses on the EPATH itself. It understands common logical segments and ANSI Extended Symbol segments used by CIP and Logix tag access. Unknown segment types are reported without inventing a meaning.
CIP Path Result Decoded
Decoded Path
Segments
Path Bytes
Path Words
Word Aligned
Class
Instance
Attribute
Symbol / Member

Decoded Path Segments

Byte-Level Breakdown -
Normalized CIP Path
-

What Is an EtherNet/IP CIP Path Decoder?

A CIP Path Decoder interprets the encoded path used by Common Industrial Protocol requests to identify an object or symbolic data item. EtherNet/IP transports CIP messages over Ethernet, while the EPATH inside a CIP request identifies where the requested service should be applied.

A path may identify an object by Class, Instance and Attribute, or it may use a symbolic segment to reference a controller tag by name.

This tool converts raw hexadecimal path bytes into those individual path segments and reports each segment’s format and value.

CIP EPATH Logical Segments

Logical segments are commonly used to identify CIP objects and members. Several compact 8-bit logical forms are especially common:

Segment 8-Bit Encoding 16-Bit Encoding Purpose
Class ID 20 xx 21 00 LL HH Select CIP class
Instance ID 24 xx 25 00 LL HH Select class instance
Member ID 28 xx 29 00 LL HH Select array/structure member
Attribute ID 30 xx 31 00 LL HH Select object attribute

CIP Class Instance Attribute Example

Consider this EPATH:

20 04 24 01 30 03 Decode it as: 20 04 = Class ID 4 24 01 = Instance ID 1 30 03 = Attribute ID 3

The human-readable path is therefore:

Class 4 / Instance 1 / Attribute 3

8-Bit and 16-Bit Logical Segments

Small logical values can be encoded directly using the compact 8-bit form. Larger values require a 16-bit logical segment.

8-bit Instance: 24 05 means: Instance 5 16-bit Instance example: 25 00 34 12 The value bytes are little-endian: 0x1234 = 4660 decimal

What Is CIP ANSI Extended Symbol Segment 0x91?

CIP supports symbolic paths for accessing data by name. Logix controllers commonly use the ANSI Extended Symbol segment beginning with hexadecimal 91.

91 LEN ASCII… Example: 91 06 4D 79 54 61 67 31 The length byte is 6, followed by six ASCII characters: 4D = M 79 = y 54 = T 61 = a 67 = g 31 = 1 Result: MyTag1

CIP Symbol Padding

EPATH data is word-oriented. An ANSI Extended Symbol segment with an odd number of characters therefore uses one zero pad byte after the symbol.

Symbol: Starter Length: 7 characters Encoded: 91 07 53 74 61 72 74 65 72 00

The padding byte is alignment only and is not part of the symbolic tag name.

CIP Member ID Segments

Member logical segments can identify an array element or structure member after a symbolic segment.

Path: 91 05 41 72 72 61 79 00 28 03 Decode: ANSI Symbol = Array Member ID = 3 Human-readable interpretation: Array[3]

Why CIP 16-Bit Values Are Little-Endian

Multi-byte logical values in these EPATH segment formats are represented with the low-order byte first.

25 00 34 12 means: Low byte = 0x34 High byte = 0x12 Value = 0x1234

Reading the value as 0x3412 would reverse the intended byte order.

CIP Path Size in Words

Many CIP service requests contain a Request Path Size field immediately before the EPATH. That size is expressed in 16-bit words rather than raw bytes.

For: 20 04 24 01 30 03 the path contains: 6 bytes = 3 words Therefore a complete Message Router request using this path would typically carry a Request Path Size value of: 03
Do not paste the Request Path Size byte into this decoder unless you actually want that byte treated as part of the EPATH. The input should normally begin with the first path segment.

CIP EPATH vs EtherNet/IP Packet

CIP EPATH

Identifies the target object, instance, attribute, member or symbolic item inside a CIP request.

EtherNet/IP Packet

Can include encapsulation headers, commands, session information, CPF items and CIP request or response data.

This decoder intentionally analyzes the EPATH only. It is not a full Ethernet frame or EtherNet/IP encapsulation packet parser.

CIP Class ID

The Class ID identifies a CIP object class. A following Instance segment normally identifies one instance of that class.

Example: 20 06 represents: Class 0x06 Class 6 is commonly associated with the Connection Manager object.

CIP Instance ID

An Instance ID selects a particular instance within the previously identified class.

24 01 means: Instance 1

Larger instance values can use the corresponding 16-bit or 32-bit logical format.

CIP Attribute ID

Attribute segments identify a specific attribute of the selected object instance.

30 03 means: Attribute 3

CIP 32-Bit Logical Segments

Logical segment formats can also carry 32-bit values. Their format selector changes from the compact 8-bit or 16-bit encoding, and the value occupies four little-endian bytes after the required pad.

The decoder recognizes the 32-bit logical format for Class, Instance, Member and Attribute segments when present.

Unknown CIP Path Segments

CIP EPATH supports more segment families than just the common logical and symbolic segments shown here, including port, network and data segments.

If this decoder encounters a segment it cannot safely determine the length of, it reports the remaining bytes as an unsupported segment instead of attempting to fabricate a field interpretation.

That conservative behavior is intentional. A partially decoded path with a clearly marked unsupported segment is more useful than a confident but incorrect decode.

Common CIP Path Decoding Mistakes

Including Service Byte

The service code precedes the Request Path Size and is not itself an EPATH segment.

Including Path Size

The Request Path Size byte describes the EPATH size; it is normally outside the path bytes.

Ignoring Little-Endian Values

Multi-byte logical values store their low-order byte first.

Counting Symbol Padding

The zero pad after an odd-length 0x91 symbol is not part of the tag name.

Assuming Every Segment Is Logical

CIP also defines port, network, symbolic and data segment families.

Reading Path Size as Bytes

The Message Router Request Path Size is expressed in 16-bit words.

EtherNet/IP CIP Path Decoder FAQs

What is a CIP path?
A CIP EPATH is an encoded sequence of segments that identifies an object, instance, attribute, member, symbolic item or route used by a CIP service.
What does 20 mean in a CIP path?
Hexadecimal 20 is the common 8-bit Class ID logical segment.
What does 24 mean in a CIP path?
Hexadecimal 24 is an 8-bit Instance ID logical segment.
What does 30 mean in a CIP path?
Hexadecimal 30 identifies an 8-bit Attribute ID logical segment.
What does 28 mean in a CIP path?
Hexadecimal 28 identifies an 8-bit Member ID logical segment.
What does 0x91 mean in a CIP path?
0x91 identifies an ANSI Extended Symbol segment used to encode a symbolic name such as a Logix tag.
How is a CIP symbolic tag encoded?
The 0x91 segment is followed by a one-byte character count and then the ASCII bytes of the symbolic name.
Why does a CIP symbol sometimes end with 00?
An odd-length ANSI Extended Symbol requires a zero pad byte so the segment ends on a 16-bit word boundary.
Is the padding byte part of the tag name?
No. It exists only for path alignment.
How is a 16-bit CIP logical value encoded?
The segment uses a 16-bit format byte, followed by a zero pad byte and then the value in little-endian low-byte/high-byte order.
What does 25 00 34 12 mean?
It is a 16-bit Instance ID segment whose value is hexadecimal 0x1234, or 4660 decimal.
How is CIP Request Path Size calculated?
The encoded EPATH byte length is divided by two because Request Path Size is specified in 16-bit words.
Does the path size include the service byte?
No. It describes the Request Path, not the service-code byte.
Can CIP use symbolic tag names?
Yes. ANSI Extended Symbol segments are widely used for symbolic Logix tag access.
How are array elements represented?
A symbolic segment can be followed by one or more Member ID logical segments to identify array or structured members.
Does this decode full EtherNet/IP packets?
No. It specifically decodes the CIP EPATH portion of a request.
Are CIP paths always Class / Instance / Attribute?
No. CIP supports several path segment families, including logical, symbolic, port, network and data segments.

Decode CIP Object and Symbolic Paths

Paste raw EPATH hexadecimal bytes to inspect Class, Instance, Attribute, Member and ANSI symbolic segments, verify word alignment and understand the path used by an EtherNet/IP CIP request.

Scroll to Top