ComfyUI Node

Concat Text

Joining prompt fragments without one giant text box

By zhangp365·Created 2 years ago·Updated 5 months ago· 134
Concat Text
    • STRING
    text1
    text2
    separator,
    text3

    There's not much mystery here, and that's the appeal: it takes two or three text strings and glues them into one, with a separator you control. If you've ever built a prompt as a single sprawling text box mixing subject, style, and quality tags, this is the node that lets you split that into pieces you can actually edit independently.

    How it works

    Two required multiline fields, text1 and text2, plus an optional third, text3. separator (default ,) goes between each piece - set it to an empty string if you want the pieces jammed together with nothing between them, or something like a newline or | if you're building something other than a comma-separated prompt. Output is a single STRING.

    What people actually use it for

    The obvious case is prompt construction: keep a subject block, a style/lighting block, and a quality-tags block as separate text nodes you tweak independently, then concatenate them right before they hit a CLIPTextEncode. That way you can swap "cinematic lighting, 35mm" for "soft studio lighting" without scrolling through and re-finding it inside one giant paragraph. It's just as useful feeding this pack's own text nodes - TextInputAutoSelector or ModifyTextGender, for instance - where building up the input text in pieces upstream is cleaner than hand-editing one long string every time.

    It's also generic enough to use for non-prompt text: building a filename out of parts, assembling a caption from separately-generated fragments, anything where "join these strings with something between them" is the actual operation you want, and you'd rather not reach for a more general string-templating node just for that.

    Multiline fields on text1/text2/text3 mean each piece can itself hold several lines - this isn't limited to single tag fragments, you can concatenate whole paragraphs of description just as easily as short comma-separated tags, and the separator still goes cleanly between them either way.

    Installing it

    ComfyUI Manager: search "ComfyUI-utils-nodes." Or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/zhangp365/ComfyUI-utils-nodes
    

    Restart ComfyUI. Pure string handling, no dependencies, nothing to configure beyond the node's own fields.

    Anything to watch for

    Honestly, not much - it's a simple node and there's not a lot of surface area to get wrong. The one thing worth double-checking if your output looks off: text3 is optional, and leaving it disconnected is fine, but if you meant to wire it and forgot, you'll silently get a two-piece concat instead of three with no error telling you a slot went unused. If your final prompt string looks shorter than expected, that's the first thing to check before assuming the bug is somewhere else in the graph.

    Categoryutils/text

    Inputs (4)

    NameTypeDefaultDescription
    text1STRING
    text2STRING
    separatorSTRING,
    text3optSTRING

    Outputs (1)

    NameTypeDescription
    STRINGSTRING