String Concatenate (Arctenox's Essentials)
Join Prompts and LoRA Lists Without the Trailing-Comma Headache
- result
Every ComfyUI user eventually builds a prompt from parts - a fixed subject line, a rotating style chunk, a LoRA tag you want in the metadata - and ends up staring at "masterpiece, , , red dress". The boring fix is a concat node, and this is a good one because it silently drops empty inputs. No trailing separators, no manual comma surgery every time you leave a slot blank.
What it actually does
ArctenoxStringConcatenate joins up to four strings with one separator. The inputs are optional and force-input, meaning you can wire other STRING nodes into them rather than only typing by hand, and anything empty or whitespace-only is skipped. Leave slots B and C unconnected and the output still comes out clean. The default separator is ", " for the classic tag-list join, but it takes anything.
Two details worth knowing:
- Type the two characters
\nin the separator field and the node turns them into a real newline (\tbecomes a tab too). That's your multi-line output. - A separator of
""gives you direct concatenation with no gap - handy when you're assembling a filename or a single word.
The inputs that matter
| Input | Notes |
|---|---|
| separator | The string placed between non-empty inputs. Default ", ". |
| string_a … string_d | Up to four strings. All optional, all skippable. |
Output is a single result (STRING). That's it. Wire it into a CLIP Text Encode, a Save Image With Metadata filename, or anything that eats a string.
Where it earns its keep
The honest framing: it's glue, not a feature. But glue is what most of a workflow actually is. A typical setup - a fixed positive prompt plus a generated tag block from a prompt generator, joined before encoding - is exactly this node's job. Same for building a <lora:name:1.0> list to shove into metadata. If you've been chaining text encode outputs or juggling print nodes just to combine two strings, this replaces all of it.
Install
Same story as the whole pack:
cd ComfyUI/custom_nodes/
git clone https://github.com/Arctenox/Arctenoxs-Essentials_ComfyUI
then restart ComfyUI. Or use ComfyUI Manager and search for Arctenoxs-Essentials_ComfyUI. No model downloads; the only dependency that matters beyond torch/numpy is psutil (optional, for the pack's CPU memory monitoring). One honest caveat: the README opens by declaring the pack deprecated - the author is remastering it into a new pack - so don't expect constant updates, but it installs clean and runs fine on current ComfyUI.
Troubleshooting
Not much can go wrong with a concat node, but the one surprise people hit: you want a literal backslash-n in the output and the node helpfully turns it into a line break. If that's a problem, use a separator that doesn't contain \n. And remember the empty-slot skipping is by design - a blank input on purpose stays blank, which is usually exactly what you want.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| separator | STRING | , | String placed between each non-empty input. Use '\n' for newlines (type the two chars literally). |
| string_aopt | STRING | — | |
| string_bopt | STRING | — | |
| string_copt | STRING | — | |
| string_dopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| result | STRING | — |