Preview Json
The plainest possible way to eyeball a JSON value on the canvas
- json_content
Sometimes you don't need a pipeline, you just need to see what's actually inside a JSON value before you trust it downstream. PreviewJson is that node and nothing more: wire in a JSON value, queue the prompt, and it shows up on the canvas. No config, no options, no second input to fumble. It's about as close to "print it and look" as ComfyUI custom nodes get.
That minimalism is the whole pitch. This isn't a pretty-printer with syntax highlighting or a collapsible tree view - the pack's own TODO list still has "frontend css" on it, unfinished. What you get is function without polish: the value renders, you read it, you move on. If you're debugging an API node's response, checking what a metadata extractor actually produced, or just confirming a value survived a chain of transforms intact, this is the fastest way to look.
How it works
PreviewJson has one required input, json_content, typed JSON. It has zero outputs and is flagged as an output node, which is the important mechanical detail: in ComfyUI's execution graph, a node needs to either feed into something else or be marked is_output_node to actually run. PreviewJson is a dead end by design - you put it at the tip of a branch specifically so that branch gets executed and rendered, not passed anywhere further.
The catch, and the one thing that trips people up: the input type is JSON, not STRING. ComfyUI checks socket types by exact name, so a node that hands you a JSON-looking string (most text-based JSON tools output STRING) won't plug in here directly - the wire just won't connect. This pack ships its own bridge for that: TestJsonPreview, also in Comfyui-Toolbox, takes anything and outputs a proper JSON-typed value. Route through that first if your source isn't already producing the JSON type.
The inputs and outputs that matter
json_content(required, typeJSON) - the only thing you touch. Wire in any node with aJSON-typed output.
There's nothing else - no outputs, no optional fields. This node terminates the branch it's on; it doesn't hand anything onward.
How to install it
Search Comfyui-Toolbox in ComfyUI Manager, or go manual:
cd ComfyUI/custom_nodes
git clone https://github.com/zcfrank1st/Comfyui-Toolbox.git
Restart ComfyUI. That's it - the README lists no requirements.txt, no model downloads, no extra dependencies. It's a small, self-contained utility pack, and the whole install is two commands and a restart.
Common issues & troubleshooting
The wire won't connect. This is almost always the type mismatch above - you're trying to plug a STRING output into a JSON-typed input. ComfyUI's connector will refuse the link outright rather than fail at runtime. Either find an upstream node that natively outputs JSON, or route through TestJsonPreview first to convert.
Nothing shows up. Like every output node, PreviewJson only populates when the prompt actually executes. If you haven't queued since making the connection, that's why it's blank - not a bug.
It's ugly / hard to read for big payloads. There's no formatting control here - no indentation toggle, no collapse-by-default for nested objects. The pack's own TODO admits the frontend styling was never finished. For a large or deeply nested JSON blob, expect to resize the node and scroll rather than get a clean tree view. If you only care about one field, it's worth extracting that field upstream (with a JSON-path tool from another pack) before you preview it here, rather than staring at the whole blob.
Node doesn't show up after cloning. Double-check the clone landed directly under ComfyUI/custom_nodes/Comfyui-Toolbox and that you fully restarted ComfyUI rather than just refreshing the browser - new custom node folders are only picked up on process start.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| json_content | JSON | — |
Outputs (0)
No outputs