# OPC Item Path syntax

**URL:** <https://forum.inductiveautomation.com/t/opc-item-path-syntax/79998>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [October 3, 2023, 8:41pm UTC](https://forum.inductiveautomation.com/t/opc-item-path-syntax/79998 "2023-10-03T20:41:05Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jlandwerlen](https://avatars.discourse-cdn.com/v4/letter/j/bc8723/32.png) [@jlandwerlen](https://forum.inductiveautomation.com/u/jlandwerlen)\
**Post date:** [October 3, 2023, 8:41pm UTC](https://forum.inductiveautomation.com/t/opc-item-path-syntax/79998/1 "2023-10-03T20:41:05Z")

</div>

I've always wanted to ask this question, but just haven't. Can someone explain, or point me to the docs that explains, the syntax for OPC Item Path? For example, the following path:

```auto
path = "nsu=TOP Server;s=Test_CH.Demo1.!MyTag@Boolean"

```

What is `nsu` and `s`? Also, there is `ns`.

I'm assuming `ns/u` is namespace, looks like `ns` is an index and `nsu` is unicode?

Since most of the time I'm picking tags by browsing I've really never cared what these meant, but figured I should know this and have struck out finding anything in the docs.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 3, 2023, 8:47pm UTC](https://forum.inductiveautomation.com/t/opc-item-path-syntax/79998/2 "2023-10-03T20:47:30Z")

</div>

`ns` is namespace index  
`nsu` is namespace URI

The second portion, `s=...` indicates it's a String-type NodeId, followed by the id itself. There are other types, but most servers just use String. [More info here.](https://stackoverflow.com/a/57563116/85927)

When you bring tags in we look at the namespace index and if it's 0 or 1 we use the abbreviated `ns=` format, and if it's 2+ we use the explicit `nsu=` format. This is because it's possible that configuration changes to a server result in namespaces other than 0/1 being at different indices in the namespace table. Not common, but possible.
