Random Shuffle Int
Reorder a delimited list without changing what's in it
- STRING
The name says "Int," but don't let that mislead you - this works on any delimited list of text, and the default value proves it: 1$2$3. What it does is take that list and hand it back in a random order. Nothing added, nothing dropped, nothing weighted differently - same items, shuffled positions, controlled by a seed so you can reproduce a specific shuffle if you need to.
Where this actually gets used: you have a fixed set of things - sampler names, aspect ratios, a handful of prompt fragments, indices into a batch - and you don't want them to run in the same order every time, but you also don't want to drop or duplicate any of them the way a pure random pick would. Shuffling is a different operation from picking, and this pack keeps them as separate nodes: Random Shuffle Int for reordering the whole set, Weighted Random Choice for picking one item out of it.
How it works
It splits input_string on separator, shuffles the resulting list using seed, and returns it joined back together as a string. Same seed, same shuffle order every time - that reproducibility is the whole point of exposing a seed at all instead of just calling random.shuffle() with no control.
The inputs and outputs that matter
- input_string - your list, delimited by
separator. Default1$2$3; replace the numbers with whatever items you actually need reordered. - separator - the delimiter between entries,
$by default. Change it if your items themselves might contain a$. - seed - determines which shuffle you get. Fix it to reproduce a specific order, vary it for a different order each run.
- Output - STRING, the same items in a new order, joined with the same separator you gave it. Feed it into a node that splits on that separator downstream, or just read the whole string if you only needed one shuffled sequence.
How to install it
Bundled with the whole LogicUtils pack. Via ComfyUI Manager: search ComfyUI-LogicUtils, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/aria1th/ComfyUI-LogicUtils
then restart ComfyUI. No models, nothing heavy to build - string splitting and Python's random, and that's the whole dependency footprint.
Background on the source, since the pack won't tell you itself: it's written by aria1th, publicly AngelBottomless, the trainer behind Illustrious XL - the SDXL anime finetune that displaced Pony Diffusion v6 in the open-source scene. LogicUtils is a side project, and the README is upfront about where the docs stand: "Proper documentation is being prepared, however there are too many nodes." That's been the state since the repo's last push in early 2026. It's still a genuinely used pack - it shows up as a dependency in complex published workflows next to rgthree-comfy and comfyui-kjnodes - people just reverse-engineer each node from its defaults, same as this article does.
Common issues & troubleshooting
Output looks like it didn't shuffle. With only two or three items, a "shuffled" order can land back on the original order by chance - that's not a bug, just a small sample space. Try more items, or a different seed, to confirm it's actually working.
Same order every run when you wanted variety. seed is fixed by default - change it (or drive it the way you'd drive any seed input) if you want a different shuffle each time.
Downstream node can't split the result back apart. Make sure whatever's reading the output uses the same separator you set here - if you changed it from the $ default, that change has to be mirrored on the reading end too.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| input_string | STRING | 1$2$3 | — |
| separator | STRING | $ | — |
| seed | INT | 00–9223372036854776000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |