# Kindling - a collection of tools to help with Ignition

**URL:** <https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689>\
**Category:** Ignition\
**Created:** [January 5, 2022, 5:01pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689 "2022-01-05T17:01:36Z")\
**Posts on this page:** 20\
**Page:** 5

<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:** [June 21, 2024, 5:55am UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/81 "2024-06-21T05:55:48Z")

</div>

Hey Paul, I'm getting the below error when trying to install the latest version (v1.3.1.0) from the download from the "Install and Launch" button ([Kindling](https://inductiveautomation.github.io/kindling/download.html)). OS Windoze 10

Failed to install [https://github.com/inductiveautomation/kindling/releases/latest/download/kindling.appinstaller](https://github.com/inductiveautomation/kindling/releases/latest/download/kindling.appinstaller) due to error: Deployment of package Kindling\_1.3.1.0\_x64\_\_7xmkzvcbwxh2t with package origin Unknown failed because no valid license or sideloading policy could be applied. A developer license ([Getting a developer license for Windows 8 Consumer Preview | Microsoft Learn](http://go.microsoft.com/fwlink/?LinkId=233074)) or enterprise sideloading configuration ([Sideload Apps with DISM | Microsoft Learn](http://go.microsoft.com/fwlink/?LinkId=231020)) may be required.

I'm able to run with the zip though. Looking pretty snazzy now compared to before 🤩

Edit: I'm using it to look at what queries failed to execute in a quarantine XML. I want to remove some of the queries in it and reimport it to try again without some of the dodgy queries. It'd be cool to be able to do this from Kindling if possible?

---

<div class="post-metadata">

**Author:** ![EricDykema](https://avatars.discourse-cdn.com/v4/letter/e/f6c823/32.png) [@EricDykema](https://forum.inductiveautomation.com/u/EricDykema)\
**Post date:** [February 25, 2025, 8:51pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/82 "2025-02-25T20:51:12Z")

</div>

Hi Paul,

Great tool! Very easy to just generate a diagnostic bundle and see everything you need to see.

For gateway backups, am I missing an easy way to view tags? I see some config information in the TAGCONFIG table, but was wondering if there would be an easy way to browse tags like in the designer.

Use-case being, say I have a gateway backup but no good place to restore it at the moment to view the tags within. But I could potentially fire up Kindling and see what I need. Thanks!

---

<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:** [February 25, 2025, 9:34pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/83 "2025-02-25T21:34:57Z")

</div>

That's a pretty cool suggestion, and I had a use case the other day for it, however I suspect the work involved would be not insignificant to add it into kindling. In my case, I'd want to be able to export tag json from it. I had a large project that I wanted to grab a UDT definition from

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [February 25, 2025, 9:36pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/84 "2025-02-25T21:36:24Z")

</div>

> [@nminchin](#):
>
> export tag json from it

That would be great. Export UDTs and tags from a backup easily.

---

<div class="post-metadata">

**Author:** ![msteele](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/msteele/32/77889_2.png) [@msteele](https://forum.inductiveautomation.com/u/msteele)\
**Post date:** [February 25, 2025, 10:18pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/85 "2025-02-25T22:18:05Z")

</div>

If we're exporting UDTs and tags, it would be great to have an option to apply `AlphaNumComparator` to make said JSON export diffable.

> [@Json Diffing Discussion](https://forum.inductiveautomation.com/t/json-diffing-discussion/96800):
>
> FWIW, I made a script recently that achieves this with JSON tag exports, and could be tweaked for many other cases (currently uses the "name" key for sorting lists of dictionaries). # Functions designed to be called via objectScript() in UI expressions. from java.io import File from java.lang import System, Throwable from java.util import TreeMap from com.inductiveautomation.ignition.common.util import Comparators logger = system.util.getLogger(system.util.getProjectName() + '.' + system.ref…

---

<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:** [February 25, 2025, 11:17pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/86 "2025-02-25T23:17:02Z")

</div>

> [@nminchin](#):
>
> not insignificant

This is an understatement 😄

To turn a config.idb back into a tag tree is to essentially rewrite Ignition's own tag loading logic, bugs/backwards compatibility shims/warts and all. Some folks from our support team have their own internal fork of Kindling and have been working on a tag export related tool, but I've deliberately shied away from doing that work myself, because it's a massive headache. At some point they may choose to 'upstream' their work, though 🤷‍♂️

EDIT:  
Not to say that it isn't a very compelling idea 😄 I'd love to do it, but it may have to wait for 8.3, where the structure of things is reflected on the filesystem rather than having to parse the IDB and sort/rank things in just the right way.

---

<div class="post-metadata">

**Author:** ![Alexander\_Zoraian](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@Alexander\_Zoraian](https://forum.inductiveautomation.com/u/Alexander_Zoraian)\
**Post date:** [May 19, 2025, 2:56pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/87 "2025-05-19T14:56:04Z")

</div>

Hi Paul,

This tool is AWESOME...came across this while trying to dip into a troublesome S&F data cache that just wouldn't backfill. One question - I'm able to open the data cache file and see my data (943 entries), though the preview at the bottom of Kindling only returns results for the 1st row of my data - does this mean something is corrupted with the 942 subsequent entries? I wasn't able to find any log or anything to tell me if there's an error somewhere in the data cache file.  
Again, much appreciated and great work!

 ![Kindling](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/4/a4150363b9dc89015045fcd6b9b8c99b2d9c9bd4.png)

---

<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:** [May 19, 2025, 3:17pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/88 "2025-05-19T15:17:43Z")

</div>

The preview will update as you select different rows in the top table.

---

<div class="post-metadata">

**Author:** ![Alexander\_Zoraian](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@Alexander\_Zoraian](https://forum.inductiveautomation.com/u/Alexander_Zoraian)\
**Post date:** [May 19, 2025, 3:22pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/89 "2025-05-19T15:22:38Z")

</div>

Thanks for getting back to me so quick! That's what I was trying, I'd select a different row, but the preview wouldn't refresh with that row's data. Similarly, when I first open the data file, I select one of the other rows, and nothing populates.

---

<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:** [May 19, 2025, 3:23pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/90 "2025-05-19T15:23:37Z")

</div>

Are you able to direct message me the file?

---

<div class="post-metadata">

**Author:** ![Alexander\_Zoraian](https://avatars.discourse-cdn.com/v4/letter/a/49beb7/32.png) [@Alexander\_Zoraian](https://forum.inductiveautomation.com/u/Alexander_Zoraian)\
**Post date:** [May 19, 2025, 4:09pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/91 "2025-05-19T16:09:09Z")

</div>

Hey Paul,

Just DM'd you - thanks!

---

<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:** [August 12, 2025, 5:30pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/92 "2025-08-12T17:30:39Z")

</div>

Kindling 1.4.0 has been released 🥳

Highlight features include translation bundle editing:

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

You can import a translation export from Ignition, then either edit it inline in Kindling or (more likely) copy it out to Excel via the Copy TSV button in the bottom right corner. Make your changes, paste the bundle back in, then re-export into Ignition's proprietary format. Not the smoothest workflow, but better than nothing until 8.3 😃

And thanks to the incredible reverse engineering work of the support apps team, _IDB tag viewing and export_:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/0/9/093094525d4945dc65c3e2b34bd0dac9917f1c99.png)

For developers (including module authors) dealing with 8.3's new restrictions on Java serialization, there's a new java serialization viewer tool that simply loads raw binary from files and attempts to parse it and explain what it contains:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/6/c69b9656c998162822ee464e988f2b1297b4ac3b.jpeg)

As a temporary measure until the next release with fully reworked .gwbk parsing, detected 8.3 gateway backups will throw up a warning in Kindling, though basic archive related functionality will still work:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/6/c/6c5380c50bf1285481c5d0cc03382309f9088da5.png)

Thanks again to new/existing contributors including @Spencer_Lommel1 and @Eric_Byrd for their work on this release! (And @kcollins and @jcoffman for their help on the release pipeline!)

> **[Release 1.4.0 · inductiveautomation/kindling](https://github.com/inductiveautomation/kindling/releases/tag/1.4.0)**
>
> Kindling v1.4.0
> Download
> Highlights
> 
> Added translation bundle editing
> 
> Import Ignition exported files
> Edit within Kindling
> Copy/paste from Excel to Kindling
> Export back to Ignition format for impor...

> **[Kindling](https://inductiveautomation.github.io/kindling/download.html)**

---

<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:** [August 12, 2025, 5:33pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/93 "2025-08-12T17:33:44Z")

</div>

Anyone interested in 8.3 compatibility should keep an eye on this issue:

> <https://github.com/inductiveautomation/kindling/issues/295>
>
> \### Update gateway backup parsing
> 1. Show config information over IDB informatio…n
> 2. Show migration status of tables?
> 3. Something something partial backups?
> 4. Migrate/duplicate tag config view
> 5. Note: Since systemProps is not guaranteed to exist, currently all meta prop lookup fails for a brand new .gwbk from 8.3
> 
> \### Data format tools
> 1. Perspective asset conversions - able to import fonts/themes/icons and convert to Ignition resource format (partial .gwbk?)
> 
> \### Historian
> 1. Something something QuestDB?
> 2. Data migration tools from SQL -\> Quest, Quest -\> SQL?
> 
> \### Store and Forward
> 1. Parse/support new S+F format (SQLite? #18)
> 
> \### Protobuf
> 1. Precompile in protobuf schemas from SDK, have some way to import binary data and parse to correct representation?
> 
> \### Other things
> \- TBD - talk to support

And, if you have any fun ideas, drop them as a comment 😃

---

<div class="post-metadata">

**Author:** ![Spencer\_Lommel1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/spencer_lommel1/32/78679_2.png) [@Spencer\_Lommel1](https://forum.inductiveautomation.com/u/Spencer_Lommel1)\
**Post date:** [August 12, 2025, 5:46pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/94 "2025-08-12T17:46:50Z")

</div>

Wooo I’ve been waiting for this release!

Looking forward to helping out with some awesome new features with the release of 8.3

---

<div class="post-metadata">

**Author:** ![gpellicelli](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/gpellicelli/32/53466_2.png) [@gpellicelli](https://forum.inductiveautomation.com/u/gpellicelli)\
**Post date:** [August 27, 2025, 3:57pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/95 "2025-08-27T15:57:39Z")

</div>

Hi,

From a backup I can see on the config file the java heap space but can I modify it before restore it on my server?

Is there a way to edit the backup file before.

Best regards,

Gabriel

---

<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:** [August 27, 2025, 4:20pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/96 "2025-08-27T16:20:33Z")

</div>

Not within Kindling (at the moment). But gateway backups are just zip files - you can open them in any archive tool, make modifications to any files inside, then zip it back up and change the file extension back to .gwbk.

---

<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:** [August 27, 2025, 4:34pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/97 "2025-08-27T16:34:29Z")

</div>

> [@paul-griffith](#):
>
> and change the file extension back to .gwbk.

If you run your workstation with a competent operating system, there's no need to change file extensions. When I click on a gateway backup in **dolphin** , it opens in **ark**. 🤷‍♂️

---

<div class="post-metadata">

**Author:** ![Felipe\_CRM](https://avatars.discourse-cdn.com/v4/letter/f/dfb087/32.png) [@Felipe\_CRM](https://forum.inductiveautomation.com/u/Felipe_CRM)\
**Post date:** [August 27, 2025, 8:28pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/98 "2025-08-27T20:28:05Z")

</div>

For those of us stuck with unfortunate operating systems - something like 7-zip can also properly recognize and open the .gwbk as a zip archive.

---

<div class="post-metadata">

**Author:** ![Leor\_Fishman](https://avatars.discourse-cdn.com/v4/letter/l/e19adc/32.png) [@Leor\_Fishman](https://forum.inductiveautomation.com/u/Leor_Fishman)\
**Post date:** [September 11, 2025, 5:39pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/99 "2025-09-11T17:39:54Z")

</div>

Hmm, just tried to open a java serialized gateway event script and ended up with  
```  
Error opening C:\Program Files\Inductive Automation\Ignition\data\projects\deviceconnupdate\ignition\event-scripts\data.bin: Invalid STREAM\_MAGIC 0x8075, should be 0xAC ED  
java.lang.IllegalArgumentException: Invalid STREAM\_MAGIC 0x8075, should be 0xAC ED  
at deser.SerializationDumper.parseStream(SerializationDumper.java:107)  
at io.github.inductiveautomation.kindling.serial.SerialViewPanel.(SerialViewer.kt:33)  
at io.github.inductiveautomation.kindling.serial.SerialViewer.open(SerialViewer.kt:66)  
at io.github.inductiveautomation.kindling.MainPanel.openFiles$lambda$48$lambda$47$lambda$46(MainPanel.kt:386)  
at io.github.inductiveautomation.kindling.MainPanel.openOrError(MainPanel.kt:357)  
at io.github.inductiveautomation.kindling.MainPanel.openFiles(MainPanel.kt:385)  
at io.github.inductiveautomation.kindling.MainPanel.fileMenu$lambda$25$lambda$23(MainPanel.kt:255)  
at io.github.inductiveautomation.kindling.utils.Action.actionPerformed(Action.kt:42)  
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)  
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314)  
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407)  
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)  
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)  
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1029)  
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1073)  
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621)```

---

<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:** [September 11, 2025, 7:03pm UTC](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689/100 "2025-09-11T19:03:56Z")

</div>

Most project level resources are gzipped Java serialized data - try manually un-gzipping it before opening it with Kindling.

Could probably make that smarter 🤷

[Previous page](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689.md?page=4)

[Next page](https://forum.inductiveautomation.com/t/kindling-a-collection-of-tools-to-help-with-ignition/54689.md?page=6)
