Perfect for intuitively analyzing JSON data, especially when piped directly from other tools.

Works effortlessly with outputs from others commands like tools like: curl, kubectl, jq and more, making it highly versatile for terminal-based workflows.

🚀 Key Features

  • JSON Visualization

    The tool renders JSON data graphically, providing an intuitive overview of the JSON structure.

  • Path Annotation

    Each JSON element (object, array, or primitive data) can be annotated with its path relative to the root node. This feature is especially useful for constructing jq queries.

  • Seamless JSON Analysis

    Perfect for intuitively analyzing JSON data, especially when piped directly from other tools. It works effortlessly with REST API responses, outputs from commands like curl , kubectl , jq and more, making it highly versatile for terminal-based workflows.

  • Cross-Platform Compatibility

    Available for Linux, macOS, and Windows.

  • Portable and Lightweight

    Small footprint for fast installations and minimal system resource usage.

📥 Download and Install

You can install the tool in one of the following ways:

Manual Installation

  • Download the zip file, extract it to a folder of your choice, and start using the tool.
  • For convenience, you can add its path to the PATH environment variable.

Choose your platform to start using jviz:

Using a Package Manager

» macOS, linux » Homebrew

brew tap lucasepe/cli-tools
brew install jviz

⚙️ USAGE

jviz <ACTION> [FLAGS]

ACTIONS

Action Description
-R Render the JSON as GraphViz DOT language
-h,–help Display this help and exit
-v,–version Output version information and exit

FLAGS

Flag Description Default
-i <file> input file with the text to render stdin
-o <file> output file for the rendered GraphViz DOT script stdout
-w <integer> wrap text into a paragraph of lines of length ‘w’ 0
-q append json path to each item false

📚 EXAMPLES

» Render a JSON file as GraphViz DOT script:

jviz -R -i document.json -o document.gv

» Render a JSON file as PNG (with items path):

jviz -R -i document.json -q | dot -Tpng -o document.png

» Some creative examples:

curl -s https://jsonplaceholder.typicode.com/users \
    | jq '.[:3]' \
    | jviz -R -q -w 20 \
    | dot -Tpng -o sample.png
kubectl get pods --all-namespaces -o json \
    | jq '.items[] | {namespace: .metadata.namespace, pod: .metadata.name, images: [.spec.containers[].image]}' \
    | jviz -R -w 20 | dot -Tpng -o sample.png

👍 SUPPORT

All tools are completely free to use, with every feature fully unlocked and accessible.

If you find one or more of these tool helpful, please consider supporting its development with a donation.

Your contribution, no matter the amount, helps cover the time and effort dedicated to creating and maintaining these tools, ensuring they remain free and receive continuous improvements.

Every bit of support makes a meaningful difference and allows me to focus on building more tools that solve real-world challenges.

Thank you for your generosity and for being part of this journey!