Any List to String
Flatten Any List Into a String (You'll Use This More Than You Think)
- anything
- string
The README describes Any List to String as "probably of very limited use!" - which is the author being modest, and also sort of honest. It's the pack's most boring node: take any list, join its items into a single string with a separator of your choice. No images, no popups, no parsing drama. Just a type adapter that quietly solves a class of "I have a list but this input wants a string" problems.
You'll hit those problems more than you expect. ComfyUI's string nodes are greedy about accepting lists, but plenty of third-party nodes want a plain string, and some text fields silently misbehave when handed a list. This node is the explicit conversion when you want to be sure. Typical uses: turning a list of prompt tags into one comma-joined string for display or logging, collapsing a list output into a single line to feed a node that only takes one string, or reverse-engineering after you split something with StringToStringList.
How it works
anything- any list, whatever it contains. Strings, numbers, doesn't matter; each item gets converted to its string form.join- the separator inserted between items. Default is empty, so["a", "b", "c"]becomes"abc"unless you set something like", ".
The output string is everything glued together. The join input is where the utility actually lives - with a separator it becomes a readable line; without one it's a debug tool.
Installing it
Part of chrisgoringe/cg-image-filter. ComfyUI Manager, search "cg-image-filter" or "Image Filter":
cd ComfyUI/custom_nodes
git clone https://github.com/chrisgoringe/cg-image-filter
Restart ComfyUI. No dependencies, no models.
Gotchas
Set the join value deliberately - the empty default turns lists into mashed-together text, which is rarely what you want outside debugging. And the input is list-typed: it expects to receive a list (the is_input_list flag is on), so if you're trying to stringify a single value, wrap it in a list first. That's about all there is to get wrong. If you genuinely never need this node, congratulations - you have dodged the pack's one admitted low-stakes helper.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| anything | * | — | |
| join | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| string | STRING | — |