Nodes/ComfyUI_DD_Nodes/DD Text Concatenate
ComfyUI Node

DD Text Concatenate

Join strings with a separator, no Python required

By digital-divas-admin·Created 7 months ago·Updated 5 months ago· 0
DD Text Concatenate
    • text
    text_a
    text_b
    separator,

    Prompt-building is ComfyUI's most common text chore, and it all boils down to one operation: glue strings together. DD Text Concatenate is that operation - two strings in, one joined string out, with a separator you control. It's the node you reach for when you want to assemble a prompt from parts instead of typing the whole thing into a single CLIP Text Encode.

    How it works

    Three inputs, two of which you'll actually touch:

    • text_a and text_b - both multiline STRING fields (or wires from other text nodes).
    • separator - optional, defaults to ", ".

    The behavior is a small Python join: it puts the separator between the two strings. So "a portrait of a fox" + "golden hour, detailed fur" with the default separator gives you a portrait of a fox, golden hour, detailed fur - exactly the shape a prompt wants.

    Here's the design choice worth knowing: empty strings are dropped. If either part is empty, it's skipped entirely, so "fox" + "" never produces a dangling "fox, ". That's usually exactly what you want when you're building prompts from optional pieces - an empty slot just vanishes instead of polluting the prompt with stray commas.

    Where it earns its keep

    The killer use is composing prompts from a switch or a random picker: a Text Concatenate fed by a "subject" node and a "style" node gives you a prompt template without a giant static string. Chain several together to layer quality tags, negative-prompt fragments, or prompt-engineering boilerplate like "best quality, masterpiece" onto the front of a dynamic core. Feed the output straight into CLIP Text Encode and you're done. If you're already deep in the DD text family, it also pairs with DD Text Replace for cleanups and DD Show Text to eyeball the result before you encode it.

    The one quirk to remember

    Because empties are dropped, you can't use this node to force a trailing separator or build a fixed-format string where an empty part must still leave a gap. If you need "exactly this many characters, always," you need a different tool. For 95% of prompt-building that's not a limitation - it's a feature.

    Installing it

    It ships in the ComfyUI_DD_Nodes pack by Digital Divas, alongside the other text nodes. ComfyUI Manager → search "DD Nodes", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/digital-divas-admin/ComfyUI_DD_Nodes.git
    

    Restart ComfyUI. The pack has an empty requirements.txt - no extra Python packages, no model downloads. One warning when searching Manager: an unrelated project also calls itself "ComfyUI-DD-Nodes," so confirm the repo is digital-divas-admin/ComfyUI_DD_Nodes before installing.

    CategoryDD Nodes/Text

    Inputs (3)

    NameTypeDefaultDescription
    text_aSTRING
    text_bSTRING
    separatoroptSTRING,

    Outputs (1)

    NameTypeDescription
    textSTRING