Nodes/String Join Tools/String Output
ComfyUI Node

String Output

See what your prompt actually is — String Output

By ruminar·Created 2 months ago·Updated 27 days ago· 2
String Output
    • text
    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 optional STRING socket, wire-only. Feed it from any string source. Output is the same text STRING, 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.

    CategoryString Join Tools

    Inputs (1)

    NameTypeDefaultDescription
    textoptSTRING

    Outputs (1)

    NameTypeDescription
    textSTRING