# Convert SVGs to Symbol Factory Objects?

**URL:** <https://forum.inductiveautomation.com/t/convert-svgs-to-symbol-factory-objects/55871>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [February 8, 2022, 5:19pm UTC](https://forum.inductiveautomation.com/t/convert-svgs-to-symbol-factory-objects/55871 "2022-02-08T17:19:09Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![nick.miller](https://avatars.discourse-cdn.com/v4/letter/n/77aa72/32.png) [@nick.miller](https://forum.inductiveautomation.com/u/nick.miller)\
**Post date:** [February 8, 2022, 5:19pm UTC](https://forum.inductiveautomation.com/t/convert-svgs-to-symbol-factory-objects/55871/1 "2022-02-08T17:19:09Z")

</div>

Is there an easy way to convert SVGs images created in Inkscape from their XML to format to the JSON format used by Symbol Factory objects in perspective?

---

<div class="post-metadata">

**Author:** ![andrews](https://avatars.discourse-cdn.com/v4/letter/a/898d66/32.png) [@andrews](https://forum.inductiveautomation.com/u/andrews)\
**Post date:** [February 8, 2022, 5:45pm UTC](https://forum.inductiveautomation.com/t/convert-svgs-to-symbol-factory-objects/55871/2 "2022-02-08T17:45:38Z")

</div>

I am not sure, but why would you need to do that?

Hopefully someone else can answer.

---

<div class="post-metadata">

**Author:** ![lrose](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrose/32/62724_2.png) [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Post date:** [February 8, 2022, 6:00pm UTC](https://forum.inductiveautomation.com/t/convert-svgs-to-symbol-factory-objects/55871/3 "2022-02-08T18:00:00Z")

</div>

If you drag and drop the SVG file onto the view, you will be presented with a dialog, where you can choose to save and link the file into the image management or embed the SVG into the view itself.

If you choose to embed the image, it will convert it for you.

For views with many SVG's or very complex SVG, using the image manager is the recommended approach. Supposedly this helps with performance. In my experience I haven't had any noticeable performance issues, but I also haven't had views with numerous embedded SVG's or very complex SVG's. YMMV.

> [@andrews](#):
>
> I am not sure, but why would you need to do that?

It makes working with the SVG elements inside of ignition much easier imo.

---

<div class="post-metadata">

**Author:** ![andrews](https://avatars.discourse-cdn.com/v4/letter/a/898d66/32.png) [@andrews](https://forum.inductiveautomation.com/u/andrews)\
**Post date:** [February 8, 2022, 6:33pm UTC](https://forum.inductiveautomation.com/t/convert-svgs-to-symbol-factory-objects/55871/4 "2022-02-08T18:33:12Z")

</div>

@lrose From what I have read on the forums it can be troublesome. Generally I’ve heard it being issues on screens with a lot of piping imagery.

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [February 9, 2022, 7:56am UTC](https://forum.inductiveautomation.com/t/convert-svgs-to-symbol-factory-objects/55871/5 "2022-02-09T07:56:58Z")

</div>

Very simplified and not 100% correct but

The more elements on a screen the slower the webpage gets.  
Every line, pipe, square or whatever you draw in svg counts as an element.  
Images while they will require some extra download time to be able to see them, do otherwise not really slow down a webpage.  
Embedding lots of things no matter what will slow things down too.

If you want to show a big overview of a factory with lots of piping and machinery images, its faster to do in an image. Ofcourse that will limit your control of user interaction (example if you want a popup to appear when they click machine X). So for best performance you will ahve to seek a balance for what is just visual and what requires interaction. (you could also put invisible but clickable squires above an image)  
It all depends how dynamic it has to be.

---

<div class="post-metadata">

**Author:** ![nick.miller](https://avatars.discourse-cdn.com/v4/letter/n/77aa72/32.png) [@nick.miller](https://forum.inductiveautomation.com/u/nick.miller)\
**Post date:** [February 9, 2022, 4:35pm UTC](https://forum.inductiveautomation.com/t/convert-svgs-to-symbol-factory-objects/55871/6 "2022-02-09T16:35:07Z")

</div>

I wrote a whole script to parse SVGs and convert them to the JSON format 😁. I wish I would have checked this sooner, it would have saved me a lot of time!

Also thank you! this will help a ton in the future!

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [February 9, 2022, 4:48pm UTC](https://forum.inductiveautomation.com/t/convert-svgs-to-symbol-factory-objects/55871/7 "2022-02-09T16:48:24Z")

</div>

> [@Call SVG based on value binding](https://forum.inductiveautomation.com/t/call-svg-based-on-value-binding/54287/2):
>
> You can see .svg in two ways, with image or icon components. You can also see/interact with a svg if you upload it as Embed Image. Maybe there is a 3rd way with CSS in a frame. That been said, and if you want to avoid “Save Link”, you may want to create your own svg Repository as described in [Images, SVGs, and Icons in Perspective - Ignition User Manual 8.0 - Ignition Documentation (inductiveautomation.com)](https://docs.inductiveautomation.com/display/DOC80/Images%2C+SVGs%2C+and+Icons+in+Perspective#Images,SVGs,andIconsinPerspective-UseaCustomIconRepository). You need to use the Icon component instead. In my example I created a Christmas reposi…
