# Importing a tag to convert it into a UDT "Binding OPC Item Path Not Working"

**URL:** <https://forum.inductiveautomation.com/t/importing-a-tag-to-convert-it-into-a-udt-binding-opc-item-path-not-working/103180>\
**Category:** Ignition\
**Created:** [March 3, 2025, 11:51pm UTC](https://forum.inductiveautomation.com/t/importing-a-tag-to-convert-it-into-a-udt-binding-opc-item-path-not-working/103180 "2025-03-03T23:51:15Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kade\_Gaik](https://avatars.discourse-cdn.com/v4/letter/k/3d9bf3/32.png) [@Kade\_Gaik](https://forum.inductiveautomation.com/u/Kade_Gaik)\
**Post date:** [March 3, 2025, 11:51pm UTC](https://forum.inductiveautomation.com/t/importing-a-tag-to-convert-it-into-a-udt-binding-opc-item-path-not-working/103180/1 "2025-03-03T23:51:15Z")

</div>

I'm trying to understand converting my UDTs from the PLC into Ignition.

1. When browsing my tags and importing them into a UDT I accept the UDT with all my new tags.

2. From there it will be direct tagged... When I export the XML and find and replace my topic and device tags then import it so I can use it as a general tag for a UDT, the binding on the tags doesn't set properly.  

3. I need to delete a letter, press \*Enter then add the letter back to complete the tag and it binds.  

4. The only way to fix this is by going in the XML editor and adding the 'boundValueType' to it.

Is there something I'm doing wrong when trying to create a UDT. To me this seems like a pretty quick and easy way if the binding would just work.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/b/e/be5f0305d45003a83414274394323dcbb477a0db.png)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 4, 2025, 12:03am UTC](https://forum.inductiveautomation.com/t/importing-a-tag-to-convert-it-into-a-udt-binding-opc-item-path-not-working/103180/2 "2025-03-04T00:03:57Z")

</div>

Try using the JSON format, not XML.

---

<div class="post-metadata">

**Author:** ![Kade\_Gaik](https://avatars.discourse-cdn.com/v4/letter/k/3d9bf3/32.png) [@Kade\_Gaik](https://forum.inductiveautomation.com/u/Kade_Gaik)\
**Post date:** [March 4, 2025, 12:13am UTC](https://forum.inductiveautomation.com/t/importing-a-tag-to-convert-it-into-a-udt-binding-opc-item-path-not-working/103180/3 "2025-03-04T00:13:29Z")

</div>

Performing a find and replace on the .json formatted file did not solve the problem. The tag is still unbound.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 4, 2025, 12:16am UTC](https://forum.inductiveautomation.com/t/importing-a-tag-to-convert-it-into-a-udt-binding-opc-item-path-not-working/103180/4 "2025-03-04T00:16:32Z")

</div>

Export a UDT definition with working bindings as JSON. Inspect and compare to the non-working import file.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [March 4, 2025, 12:19am UTC](https://forum.inductiveautomation.com/t/importing-a-tag-to-convert-it-into-a-udt-binding-opc-item-path-not-working/103180/5 "2025-03-04T00:19:33Z")

</div>

Take special care re: possibly invisible characters like `\x00` or whitespace or newlines, etc. The raw JSON will show these in a good text editor.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [March 4, 2025, 1:49pm UTC](https://forum.inductiveautomation.com/t/importing-a-tag-to-convert-it-into-a-udt-binding-opc-item-path-not-working/103180/6 "2025-03-04T13:49:57Z")

</div>

The issue is that find/replace will set the values to literal strings, despite you putting in the {}. When you enter these into the field in the tag editor, the designer constructs the binding stricture for you. You have to do the same when you find/replace. I have a python function specifically for this purpose, to find strings with {} in them and convert them to a binding structure. The I can just find/replace as you did, run it through the function, and import, and the bindings are then there
