Istio service mesh tooling
Parse Gateway, VirtualService, and DestinationRule manifests offline and render the full L7 routing topology as an interactive diagram. Trace requests, lint configs, watch for changes.
Four commands
Generate interactive HTML, SVG, PNG, Graphviz DOT, or a diff-friendly text tree — all from a single command, all formats from the same routing model.
Simulate any request — host, path, method, headers — and see exactly which rule matches. Skip reasons shown for every non-matching rule, highlighted in the diagram.
Catch unbound VirtualServices, missing Services, port mismatches, shadowed unreachable rules, and weight inconsistencies before they reach production. CI-friendly --strict mode.
Local HTTP server that re-renders on every file change and reloads the browser automatically via SSE. Filter selections and Kustomize overlays persist across reloads.
Under the hood
Three clean phases — from raw YAML to a complete, interactive picture of your service mesh.
Point istio-viz at YAML files, a directory, a Kustomize overlay, or your live cluster. Multi-document files and recursive directories are supported.
Gateways, VirtualServices, Services, and DestinationRule subsets are joined into a complete routing model using the same first-match-wins logic as Envoy.
Choose your output. The interactive HTML is self-contained — share it as a file. The paths format diffs cleanly in code review.
Catch problems early
istio-viz lint checks the things that kubectl apply won't — like a VirtualService that binds to a Gateway that doesn't exist, or a route rule that can never be reached because an earlier rule always matches first.
Get started
No cluster access needed. Works entirely offline against your local manifests.
Windows: download from GitHub Releases · Source on GitHub