Combo to String
Turn any dropdown value into text you can actually print
- combo
- STRING
ComfyUI is full of widgets that hold a list of things - sampler names, checkpoint names, LoRA stacks, style pickers - but plenty of downstream nodes only want a single plain string. Combo to String is the adapter in the middle. It takes whatever the combo-ish input holds, joins the pieces together, and hands you one STRING.
How it works
The combo input is typed as "*" - ComfyUI's "any type" wildcard - so it accepts a combo/list from almost any widget or node. The separator widget (default "$") is the glue. The node joins the list with that separator: ["valencia", "2"] becomes "valencia$2". If what you feed it is already a plain string, number, or boolean, it just passes it through untouched - no separator noise.
The $ default is worth a thought. It's clearly the author's own habit (the pack uses $-joined strings in its own stack/pipe conventions), and it's honestly a fine choice - $ is rare in filenames and prompts, so you can join with it and split again without collisions. But if you're joining to build a human-readable label or a prompt fragment, you'll probably want to switch the separator to a space or a comma.
That's the whole node. Two inputs that matter:
combo- the list or single value you want as text.separator- what goes between items when there's more than one.
One output: STRING, ready for a Show Text / Display Text node, a filename builder, a prompt merge, or anything else that eats strings.
When you'd reach for it
- You're building an automatic filename and the model name you want lives in a dropdown, not a string port.
- You want to see what a stack/list node is actually holding, so you pipe it into a display node to debug it.
- You're assembling a prompt or tag string from several combo selections and need them joined on one line.
It's a small node, but it's the kind that unblocks a workflow. And because combo accepts the any-type wildcard, it's more flexible than the name suggests - it'll take lists and single values alike.
Install and context
cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI-RvTools_v2
# restart ComfyUI
Or via ComfyUI Manager, searching "ComfyUI-RvTools_v2". No model downloads, no heavy deps - the pack's requirements.txt is the standard torch/numpy/Pillow/opencv-python/piexif/pilgram set.
Two things to keep in mind. First, this pack is flagged as unmaintained - the README points to ComfyUI_Eclipse as the replacement, and the original RvTools repo was pulled off GitHub in early 2025 (leaving a trail of "how do I install this now?" threads on r/comfyui). v2 still works fine for existing workflows. Second, because the input is the any-type wildcard, ComfyUI will happily let you connect almost anything - including things that aren't really a list. If you feed it a raw tensor it'll do something odd, but for the dropdown/list use case it was built for, it just works.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| combo | * | — | |
| separator | STRING | $ | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |