Nodes/comfyui-darkil-nodes/Strings Joiner [darkilNodes]
ComfyUI Node

Strings Joiner [darkilNodes]

Join several text inputs into one string — and actually understand the joiner

By pytraveler·Created 7 months ago·Updated 15 days ago· 9
Strings Joiner [darkilNodes]
    • joined_text
    • ❓help
    joiner

    Every text-heavy ComfyUI workflow eventually needs "take these three strings and glue them together with commas." The stock way is a chain of text-concat nodes that gets unreadable at six inputs. This node does it in one place: a Strings Joiner that takes a dynamic number of text inputs and joins them with a separator you control - including real newlines and tabs, not just commas.

    How it works

    The node exposes a single visible input, joiner (STRING) - the separator. The actual texts come from dynamic input slots that the node grows as you connect them, so you can join two strings or ten without swapping node variants. Before joining, it drops empty and None values, which is the behavior that saves you from "a,,b" accidents when a branch produces nothing.

    The joiner field is where the subtlety lives: it supports escape sequences. Type \n and you get an actual newline in the output; \t becomes a tab; \\, quotes and apostrophes decode too. So:

    • joiner = ", "foo, bar, baz
    • joiner = \n → three separate lines
    • joiner = ""foobarbaz

    That's the full set of things you need to understand: an empty joiner concatenates, a comma-joiner makes CSV-ish text, and a newline-joiner builds lists.

    Inputs and outputs

    • joiner (STRING) - the separator, with \n/\t escape support.
    • Dynamic text inputs - whatever you connect; empty ones are filtered.
    • joined_text (STRING) - the result.
    • ❓help (STRING) - the pack's signature live documentation socket.

    There's one small escape gotcha to internalize: the node processes escape sequences at join time, so if you actually want the literal characters \n in your output (rare, but it happens), you'd need to double-escape.

    Where people get burned

    The most common mistake is expecting the joiner to be smart - it's a literal separator, not a formatter. It won't add spaces around a comma for you, so joiner = "," gives foo,bar. Type ", " (with the space) and you get the readable version. And because empty inputs are filtered, a node you thought was contributing text can vanish silently from the output; if the joined result looks short, check whether the upstream actually produced a non-empty string.

    Installing

    It's part of pytraveler/comfyui-darkil-nodes. ComfyUI Manager search ComfyUI-darkil-nodes, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/pytraveler/comfyui-darkil-nodes
    

    Restart ComfyUI. No Python deps, no models - pure string handling.

    CategorydarkilNodes/text

    Inputs (1)

    NameTypeDefaultDescription
    joinerSTRING

    Outputs (2)

    NameTypeDescription
    joined_textSTRING
    ❓helpSTRING