Nodes/AsyncOutput/StringList To String
ComfyUI Node

StringList To String

The clean copy of the list-to-string join utility — use this one, not the deprecated twin

By teddy1565·Created 5 months ago·Updated 5 months ago· 0
StringList To String
  • input_string_list
  • strings
join_word
is_escape_charfalse

StringList To String (class UtilsConvertStringListToStringNode) is the utility that turns a list of strings into one string, and it's the copy of the pack's join node that you should actually use. There are two of them - this one under AsyncOutput/Utils, and a functionally identical AsyncOutputConvertStringListToString under the deprecated family. They share the same code, the same inputs, the same behavior. This one just doesn't carry the "Deprecated(ComfyUI NOT Turing complete)" baggage, and unlike the rest of the pack it's a pure, stateless function - no global memory, no counters, no ExecutionBlocker games. Just join.

You'll reach for it right after BatchIteratorStringCallback or AsyncOutputCallback hands you a LIST of gathered strings and you need them as one block of text - a prompt, a filename list, a CSV line, a chunk to hand to a text encoder. It's Array.join() with an escape-character escape hatch.

How it works

It does join_word.join(input_string_list) - inserts join_word between every item and returns the result as strings. The escape flag exists because of a widget/backend mismatch: type \n into join_word and what the node actually receives is the literal two characters backslash-n, which joins your strings with visible \n text instead of newlines. Flip is_escape_char on and it translates \n, \t, \r, \', \", and \\ to their real characters first. The tooltip's phrasing: "if use ascii escape char, must enable."

The inputs that matter

  • input_string_list (LIST, forced) - the strings to join.
  • join_word (STRING, default "") - the separator; empty concatenates.
  • is_escape_char (BOOLEAN, default false) - enable when join_word uses escape sequences.

Output: strings (STRING) - the joined result.

Installing it

No dependencies, no model files. ComfyUI Manager → search "AsyncOutput" → install and restart, or:

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

It's under AsyncOutput/Utils/String.

Where people get burned

The one real trap is the same as its twin's: joining with \n while is_escape_char is off yields literal \n in your output - turn the flag on. And a mild annoyance: it takes a LIST input, so anything you want to join has to be a proper list first, not a multiline string; if you're feeding it a multiline STRING, you'll get an error and need to split it into a list upstream first. That's it - this is the easy, safe node in the pack, and it's the one I'd grab even if I never touched the async stuff.

CategoryAsyncOutput/Utils/String

Inputs (3)

NameTypeDefaultDescription
input_string_listLIST
join_wordSTRING
is_escape_charBOOLEANfalseif use ascii escape char, must enable

Outputs (1)

NameTypeDescription
stringsSTRING