String Joiner
Stitch any list back into one string
- list_input
- joined_string
- item_count
String Joiner is the return trip. String Splitter turns "10,25,42,100" into a list; this node turns a list back into one delimited string. It's the least glamorous node in the JK-TextTools pack and one you'll quietly depend on the moment you start transforming lists and need to serialize the result.
The use case is round-tripping: split some text, manipulate the items (filter, reorder, index-select), then join into a new string for a node that only speaks strings. A prompt list becomes one prompt. A list of filenames becomes a comma-separated batch string. A bunch of numeric values become a single seed list for a downstream text-based node. ComfyUI is full of text inputs, and most of them want one string, not a list - this is how you get there.
How it works
It takes any list, converts every item to a string, and joins them with your delimiter. The delimiter understands escape sequences, so you can type \n to join with real newlines (building a multi-line text block from a list of lines), \t for tabs, or \\ for a literal backslash. It's INPUT_IS_LIST, so the whole list arrives at once.
The type handling is worth noting: joining [10, 25, 42] with , gives "10,25,42" - numbers get stringified, which is usually what you want for serialization. If you need the numbers back as numbers, run the result through String Splitter with output_type: INT and the round trip is complete.
Inputs and outputs
list_input(*) - any list;forceInputmeans it needs a real connection.delimiter(STRING, default,) - what goes between items.
Outputs: joined_string (STRING) and item_count (INT). The count is a quiet sanity check - if it doesn't match what you expected in the list, something upstream dropped items.
Where it fits
The pack's example is clean: split a multi-line text block on \n → get a list of lines → process them → join with ", " → a comma-separated summary string. Pair it with List Index Selector when you want to build strings from specific items, and it composes with String Splitter for the full split-transform-join pipeline.
Installing it
It's part of ComfyUI-JK-TextTools. ComfyUI Manager → search "JK-TextTools" → install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Nakamura2828/ComfyUI-JK-TextTools.git
Restart ComfyUI. No models, no extra pip packages - pure Python list-and-string work.
Gotchas
An empty list joins to "" with item_count 0 - so if a filter upstream removed everything, your "joined" output is silently empty, and whatever consumes it will see an empty string rather than an error. And remember the stringification is one-way for the moment: numbers become text, so plan the re-cast through String Splitter if your pipeline needs the types back.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| list_input | * | — | |
| delimiter | STRING | , | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| joined_string | STRING | — |
| item_count | INT | — |