Nodes/ComfyUI-Visionatrix/Text Concatenate
ComfyUI Node

Text Concatenate

A dead-simple string joiner that ComfyUI now warns you about

By Visionatrix·Created 2 years ago·Updated about a year ago· 3
Text Concatenate
    • STRING
    delimiter,
    clean_whitespace
    text_a
    text_b
    text_c
    text_d

    VixTextConcatenate is a small string joiner: feed it up to four text inputs and it returns them joined into one string, with a delimiter you pick. If that sounds like something you could do in your sleep, that's because you could - the node is marked deprecated in the pack's source, which means modern ComfyUI will slap a warning on it every time you load a workflow that uses it. Still, it shows up in enough old shared workflows that knowing what it does (and what it doesn't) is worth five minutes.

    It comes from the ComfyUI-Visionatrix pack, a set of nodes the Visionatrix team ships for migrating workflows into their simplified web UI. This particular node has nothing to do with that UI - it's just a utility that rode along in the same repo. Use it in plain ComfyUI or inside a Visionatrix flow; it behaves the same.

    What the inputs actually do

    Only two inputs are worth touching:

    • delimiter - the string glued between each piece. Default is ", " (comma-space), which is fine for prompt fragments. Fun detail: type the literal text \n and the node converts it to a real newline, so you can build multi-line strings without a multiline widget.
    • clean_whitespace - a true/false dropdown. Set it to true and every input gets .strip()ped before joining.

    The four inputs are text_a through text_d. They're all optional, and in practice you'll wire text from other nodes in (they're forceInput in the source), so the text boxes on the node can stay empty. Empty strings are dropped before joining, which is handy: leave text_b disconnected and the output is just a+b without a stray comma.

    The single STRING output feeds anywhere text goes - most often straight into a CLIPTextEncode positive or negative prompt input.

    How it works

    The implementation is short enough to read in one go: it sorts the input dict, strips each string if you asked for it, filters out empty values, and joins the rest with the delimiter. That's the whole node. No model, no network, nothing that can go wrong beyond the delimiter/whitespace flags you set.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/Visionatrix/ComfyUI-Visionatrix
    

    Then restart ComfyUI. Or use ComfyUI Manager - search for ComfyUI-Visionatrix under Install Custom Nodes. There are no model downloads, and the only dependencies (torch, pillow, numpy) are already in any working ComfyUI install.

    Where people get burned

    The one real gotcha is the deprecation: ComfyUI flags nodes whose class carries DEPRECATED = True, and this one does. If you're building a fresh workflow, don't reach for this - ComfyUI's own Concatenate String or any of the text utilities in WAS Node Suite do the same job without the warning. The honest use case for this node in 2026 is opening an old workflow and recognizing what it is before you swap it out.

    And one compatibility note: it's built for the classic string type, not the newer STRING_LIST streaming types some packs use. If your upstream node emits a list rather than a plain string, this joiner won't accept it.

    CategoryVisionatrix/Text

    Inputs (6)

    NameTypeDefaultDescription
    delimiterSTRING,
    clean_whitespaceCOMBO2 options: true, false
    text_aoptSTRING
    text_boptSTRING
    text_coptSTRING
    text_doptSTRING

    Outputs (1)

    NameTypeDescription
    STRINGSTRING