DD Text Concatenate
Join strings with a separator, no Python required
- text
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_aandtext_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.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| text_a | STRING | — | |
| text_b | STRING | — | |
| separatoropt | STRING | , | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |