Nodes/ComfyUI Easy Use/easy showAnything
ComfyUI Node Runs on cloud

easy showAnything

Print any value onto the canvas

By yolain·Created 3 years ago·Updated 8 days ago· 2,633
easy showAnything
  • anything
  • output

This is the print() of ComfyUI. Wire anything into it and it renders that value as text right on the node, so you can see what's actually flowing through a wire instead of guessing. Sounds trivial. It's one of the nodes you end up using constantly, because in a node graph you otherwise have no visibility into intermediate values - a number, a piece of prompt text, the caption a model just generated, a seed, a filename. showAnything drags all of that into the open.

If you've ever added a debug print to unstick a script, you already know exactly what this is for.

Why you'd reach for it

ComfyUI shows you images because image nodes have previews. Everything else - strings, ints, booleans, the output of a logic node, a value coming out of a switch - is invisible unless you make it visible. So the moment your workflow has any logic in it (a math node, an if/else, a wildcard populating text, an index switch picking a branch), you want a showAnything hanging off the interesting wires so you can confirm the branch you think is firing is the branch that's firing.

It's the debugging companion to the whole EasyUse/Logic family. Building a for-loop and not sure what index is on each pass? showAnything. Wondering what string your prompt node actually assembled after wildcards resolved? showAnything. It turns "I think it's doing X" into "it's doing X."

The inputs and outputs

Refreshingly simple:

  • anything (optional, any type) - the value to display. Feed it a string, an int, a float, a boolean, conditioning, a tensor - it'll do its best to render a text representation of whatever it gets.
  • output (any type) - the same value passed back out. That pass-through matters: you can splice showAnything inline on a wire (value goes in, gets displayed, continues onward) instead of dead-ending it, so you inspect a value without cutting the connection that uses it.

That's the entire surface. No settings - it just shows what it's given.

Installing it

ComfyUI Manager: search ComfyUI Easy Use, install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/yolain/ComfyUI-Easy-Use

then install the requirements (install.bat on Windows, else pip install -r ComfyUI-Easy-Use/requirements.txt) and restart. Nothing else to download.

Common issues

The text only appears after you run. It's a display node - the value it shows is the value from the last execution, so queue a prompt and then read it. If it's blank, that branch didn't execute (nothing downstream pulled it), which is itself useful information.

Dumping something enormous can crash ComfyUI. The node handles lists and large data types, but the pack's own changelog is candid that displaying very large data can still, in some cases, take ComfyUI down. So don't pipe a giant tensor or a thousand-item list into it just to look - sample or slice first. For everyday values (numbers, prompts, filenames, small lists) it's rock solid.

It shows a type you didn't expect. That's the node doing its job - it's telling you the wire carries something other than what you assumed, which is usually the actual bug you were chasing.

CategoryEasyUse/Logic

Inputs (1)

NameTypeDefaultDescription
anythingopt*

Outputs (1)

NameTypeDescription
output*