Nodes/comfyui-darkil-nodes/Show Any [darkilNodes]
ComfyUI Node

Show Any [darkilNodes]

One preview node that renders whatever you throw at it — and keeps its history across a page reload

By pytraveler·Created 8 months ago·Updated 23 days ago· 9
Show Any [darkilNodes]
  • source
  • value

ComfyUI's stock Show Text is fine until you plug a dict into it and get a wall of escaped braces. Show Any [darkilNodes] is the fix: a universal preview node that looks at what's actually connected, picks a renderer based on the value's runtime type, and displays it properly - while passing the value through unchanged on a value output so you can drop it mid-chain without breaking anything.

It's the node you reach for when you're debugging: checking what a node really emitted, eyeballing an intermediate image, watching a list of numbers tick by, or confirming a string is actually JSON before it hits something that expects JSON.

How it works

The node sniffs the value and renders accordingly:

  • Text / numbers - selectable, copyable text.
  • JSON (a dict, or a string that parses as JSON) - a collapsible tree with a Tree / Raw toggle.
  • Boolean - a big green check or red cross.
  • Number list ([1, 2, 3] or a numeric-array string) - a read-only equalizer chart with value labels and auto-range.
  • Matrix / list of lists - stacked mini-equalizers, 10 per page with prev/next pagination.
  • Image(s) / mask - inline previews; masks render as grayscale.
  • Video - an HTML5 player; Audio - an HTML5 player.
  • Markdown - rendered, if you pick Markdown in the view combo.

Latents don't get a preview - you get a compact text summary instead, which is honest about what a latent tensor is. For plain strings there's a view combo (Auto / Text / Markdown / JSON): Auto shows a JSON tree when it parses, an equalizer for numeric arrays, otherwise plain text.

The signature feature: history that survives

Where this node beats every other debug node is persistence. The last 20 values are kept per node, whatever their type. The value survives a frontend redraw - coming back to the tab, switching workflows, anything that makes the graph rebuild - because the history lives outside the node and the last value is written back into the node itself. A value restored that way is labeled restored until the node runs again.

There's a history bar above the panel: < > steps one value, >| jumps to the newest, and x forgets everything except what's on screen. New values never steal the view from an older one you're still reading - the counter turns orange and >| takes you to the newest. The right-click menu has forget the value saved in the workflow, forget it on every Show Any node (graph-wide), and stop keeping the value in the workflow - after that the bar says not saved, and that's the node property showany_keep you can also flip in the properties panel. Whatever you do, the copy on screen is left alone.

Inputs and outputs

  • source (ANY, optional) - the value to display.
  • value (ANY) - the input passed through unchanged.

One input, one pass-through output. It's an output node, so it forces a UI update when it runs - normal ComfyUI behavior, just know that dropping it at the end of a heavy chain runs the whole chain.

Install

It ships in comfyui-darkil-nodes, a zero-dependency pack - no Python packages, no model downloads:

  • ComfyUI Manager: search "darkil" / "comfyui-darkil-nodes", or
  • cd ComfyUI/custom_nodes && git clone https://github.com/pytraveler/comfyui-darkil-nodes.git, then restart.

The node shows up under darkilNodes/logic.

Gotchas

Big values get truncated so the browser doesn't choke: text at 200k chars, number lists at 512 points, matrices at 200 series, image batches at 16 previews - each flagged with a truncated note. One thing to keep in mind: the pack is brand new (v0.3.0, mid-2026, author-driven so far), so if the history bar ever feels like overkill, remember the showany_keep property - you can turn the whole save-to-workflow behavior off and get a clean, no-strings preview node. That's the part I'd actually reach for: a debug node that shows you real values and doesn't lose them when you glance at another tab.

CategorydarkilNodes/logic

Inputs (1)

NameTypeDefaultDescription
sourceopt*

Outputs (1)

NameTypeDescription
value*