# Salt State Graph

Paste or open Salt highstate JSON and explore its requisite graph entirely in your browser.

Canonical: https://tools.karlquinsland.com/tools/html/salt-state-graph/
Published: 2026-07-20
Updated: 2026-07-20
Tags: html, salt, highstate, graph, dependencies, json


---

# Salt State Graph

![Tool icon](https://tools.karlquinsland.com/tools/html/salt-state-graph/images/tool-icon.svg)

Paste, select, or drop JSON from Salt's `state.show_highstate` or
`state.show_sls` output to build an interactive requisite graph. Smaller inputs
and their active filters are mirrored into the URL fragment so the graph can be
shared or bookmarked.

[Open the tool](https://tools.karlquinsland.com/tools/html/salt-state-graph/tool.html)

## Features

- Supports typed, module-less, SLS, glob, and `_in` requisites.
- Handles `__extend__` declarations and output containing multiple minions.
- Fuzzy-searches states and filters by minion, connection status, or requisite family.
- Switches between a static SVG layout and an animated, Obsidian-style force graph.
- Automatically saves smaller valid inputs and active filters in a shareable URL fragment.
- Opens the source state JSON, including matching `__extend__` blocks, when a node is selected.
- Downloads the active view as PNG or WebP, plus static SVG, DOT, or normalized JSON.
- Uses browser-native SVG/Canvas with one pinned dependency for the live force simulation.

## Dependencies


This tool relies on 1 dependencies.

| # | Library | Version | Via |
| ---: | --- | --- | --- |
| 1 | force-graph | 1.51.4 | [cdn.jsdelivr.net](https://cdn.jsdelivr.net/npm/force-graph@1.51.4/dist/force-graph.min.js) |

## Changelog



## `1df081d` - July 20, 2026 18:35

- feat: add animated live graph renderer


## `c949696` - July 20, 2026 18:07

- feat: share graph filters and node source JSON


[View full changelog (4 commits)](https://tools.karlquinsland.com/tools/html/salt-state-graph/changelog/index.md)


