String Output
See what your prompt actually is — String Output
- text
Every ComfyUI user has stared at a generation and thought "why does this look like that" - then spent ten minutes hunting through the graph for the string that fed the encoder. String Output, from ruminar's String Join Tools pack, is the node that ends that hunt. It's an inspection node: wire any STRING into it, run, and it shows you the text, whether it was explicitly empty, and its character count. It also passes the string through unchanged, so you can drop it into the middle of a wire without changing the data flow.
That pass-through is the part beginners miss. This node is marked as an output node, so ComfyUI always executes it and displays its result - but the text output on the right returns exactly what went in. You can tap a join node's output into String Output and into CLIP Text Encode at the same time, and both get the same string. Inspection without surgery.
What it's genuinely good for
- Checking what a join actually produced. Feed an Optional or Toggle String Join's output in here and you'll see the final assembled prompt - separators, escapes, everything - exactly as the encoder sees it. The
", "default with escaped newlines suddenly becomes visible as real text. - Hunting empty-string bugs. A branch that silently produced
""is the classic source of "the prompt looks fine in the editor but the output is weird." This node tells you explicitly whether the string was empty, which is more honest than a text box that just looks blank. - Verifying character counts. The count uses Unicode code points, so it's accurate for Unicode-heavy prompts, and it's a fast sanity check when a limit is involved.
What you set
Just one input:
text- an optionalSTRINGsocket, wire-only. Feed it from any string source. Output is the sametextSTRING, unchanged.
There are no widgets to configure. Drop it, wire it, run it. That's the whole node.
Installing it
ComfyUI Manager: search "String Join Tools" or "ComfyUI-StringJoinTools". Or:
cd ComfyUI/custom_nodes
git clone https://github.com/ruminar/ComfyUI-StringJoinTools
Restart and refresh. No Python dependencies, no model files. It lives under String Join Tools.
The honest caveat
It's an inspection tool, so remember the rule that applies to all display nodes: it shows you what the string was on the last run. If you change an upstream prompt and don't re-run, the display shows stale text. Also, because it's an output node wired into your graph, it's not a zero-cost addition if you ever chain the wrong way - but pass-through means it never alters the string, so worst case it's a little visual clutter you can delete. The one trap is treating it as a text editor. It isn't. It's a mirror. If you want to edit the string, edit upstream, or use a node with an editable field.
For anyone doing prompt assembly with joins and toggles, this is the debugger that makes the rest of the pack usable. String pipelines are invisible by default; this makes them visible.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| textopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |