π§ Display Any
Display Any β see what's actually flowing through your ComfyUI graph
- input
- STRING
Ever wired a node up, hit run, and had no idea what value was actually coming out of that little dot? That's the entire reason Display Any exists. You drag its input onto any wire - a string, an int, a float, a whole latent - and it prints the value right there on the canvas. No more guessing what your math node computed or whether that "seed" is the number you think it is.
It's a debugging node, plain and simple, and once you start building anything with logic in it you'll want one lying around.
What it does
Display Any takes a single input typed as * - the wildcard type, meaning it accepts literally anything ComfyUI can pass down a wire. It then renders that value as text on the node itself. It's an output node, so it doesn't feed a downstream node; it's a terminal readout, like sticking a multimeter on a wire to see what's there.
There's one input beyond the value: a mode dropdown with two choices - raw value and tensor shape. That second option is the clever bit. Point Display Any at an image or a latent and set raw value and you'd get a wall of unreadable tensor numbers. Set tensor shape instead and it prints the dimensions - batch, channels, height, width - which is what you actually wanted to know 95% of the time. "Is my latent 64Γ64 or 128Γ128? Did my batch actually become 4 images?" That's the question tensor shape answers.
The output is a single STRING, so if you want the displayed text somewhere else - feeding a filename, logging it - you can pull it off the output too.
When you'd reach for it
Anything with a number or a condition in it. You're using the Simple Math nodes to compute a width from a slider, and the result looks wrong - drop a Display Any on the output and see the real number. You built a Simple Comparison that gates something and the branch isn't firing - Display Any tells you whether it evaluated true or false. You're not sure a model loader is handing back what you expect - check the shape.
It's the same instinct as a print() statement in code. Cheap, disposable, and you delete it once the thing works.
Installing it
Display Any ships in ComfyUI Essentials by cubiq - Matteo Spinelli, the same developer behind the community-standard ComfyUI_IPAdapter_plus, so this is a trusted name, not a random pack. Two ways in:
- ComfyUI Manager (the easy way): open Manager β Custom Nodes Manager β search "ComfyUI Essentials" β Install β restart ComfyUI.
- Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/cubiq/ComfyUI_essentials, then install itsrequirements.txtinto ComfyUI's Python environment and restart. Manager does that pip step for you.
You'll spot the pack's nodes by the π§ wrench in the title and the + on the class name.
Gotchas
Heads up on the pack itself: cubiq put ComfyUI Essentials into maintenance-only mode in April 2025 - he's stepped back from ComfyUI development. In practice the community verdict is "they still work just fine," and Display Any is about as simple as a node gets, so it's not going anywhere. The one thing to know is that a few people have hit breakage right after updating ComfyUI to a brand-new build; if that happens, roll ComfyUI back or patch the file yourself (these fixes are usually one line). Nothing's coming from upstream to fix it for you.
If Display Any shows up as a red "missing node" box, the pack didn't load - check your ComfyUI startup log for an import error and reinstall through Manager. And if you're displaying an image or latent and just see garbage, that's your cue to flip mode to tensor shape.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| input | * | β | |
| mode | COMBO | 2 options: raw value, tensor shape |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | β |