Preview as Markdown
Finally, a Way to Actually Read What a Text Node Is Saying
- source
- text
ComfyUI is great at showing you pixels and terrible at showing you text. Wire a prompt builder, a GetJsonValue, or a text-generator output into a socket and you get… a small grey box, if you're lucky. UC_MarkdownPreview from silveroxides' ComfyUI-UtilsCollection fixes that: you connect any value into it and it renders as formatted Markdown, live, right on the canvas. It's the pack's "show me what's actually in this wire" node, and once you've used it to debug one string chain you'll never go back.
What it's for
Three jobs, really. First, debugging: feed it the output of any node that produces text and you can see exactly what's coming out - no hunting through console logs. Second, inspecting data: JSON from an API node or a config object gets pretty-printed so you can read it instead of squinting at a one-line blob. Third, documentation: because it renders Markdown, you can type a # Title, a bullet list, and a fenced code block and embed a mini README right inside a workflow, sitting next to the graph it explains.
How it works
The mechanism is refreshingly simple. The source input accepts anything (it's an * / ANY socket), and the node serializes it sensibly: strings pass through untouched, numbers, booleans, and None get converted with str(), and anything else - lists, dicts, objects - gets dumped as indented JSON. The result goes to a text output, so this isn't a dead end: you can keep wiring the string onward after looking at it. And because it's marked as an output node, ComfyUI always runs it, which is exactly what you want from a readout.
The markdown rendering itself happens in the frontend using ComfyUI's Core Markdown widget, so it looks native and follows your theme. The node even gives itself a minimum size so the rendered text has room to breathe.
Installing it
This node ships in the ComfyUI-UtilsCollection pack. Easiest path is ComfyUI Manager: search "ComfyUI-UtilsCollection", hit Install, restart. Or do it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/silveroxides/ComfyUI-UtilsCollection
Restart ComfyUI. Dependencies are light - just opencv-python and typing-extensions - and there's no model download for this node (the pack's heavy models, like the MiniMax H3 clip projections, only matter if you use those other nodes).
Where people get tripped up
The one real gotcha is in the name: it renders Markdown, not raw text. If you're inspecting a prompt that contains literal **emphasis** or # characters, they'll be styled, not shown verbatim. That's the feature, but it surprises people the first time. Also note it only displays what's on the canvas - it won't write anything to disk, so if you're chasing a string that's being mangled before a save, this shows you the value at the point you tapped it, which is usually all you need to find the culprit.
One light aside: if you're the kind of person who shares workflows publicly, a MarkdownPreview node with the key settings and a note about model requirements is a genuinely nice touch that most template workflows skip. It reads better than a buried text node.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| source | * | Text or another serializable value to render as Markdown. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |