๐๐ช Text split in 5
Turn one pasted block into five wires
- part1
- part2
- part3
- part4
- part5
Sometimes you've got one blob of text - a pasted list, five lines of config, five prompt fragments you jotted down together - and you need each line as its own separate output so you can wire them to five different nodes. That's it, that's the whole job of Text split in 5. It takes one multiline string, chops it on a delimiter, and hands you back five discrete STRING outputs instead of one string you'd otherwise have to split with a Loop node or five separate Write Text boxes.
It's part of justUmen's Bjornulf_custom_nodes pack, a sprawling 170-node grab bag covering text, loops, video, TTS, and Ollama integration. The author (justumen on Reddit) is active and well liked in the community - one of his demo threads pulled genuine praise specifically for the loop nodes automating tedious multi-step work. This particular node is a small, unglamorous utility in that same spirit: less "feature," more "stop me from doing this by hand."
How it works
Feed it input_string - a multiline text box - and it splits on delimiter, which defaults to \n (newline), so out of the box it's "one line per output." Change the delimiter to a comma or anything else if your data is laid out differently. There's also ignore_before_equals, a boolean that, when true, strips everything up to and including a = on each line before outputting it - so a line like weight=0.8 becomes just 0.8. That's handy if you're pasting labeled config lines (steps=20, cfg=7.5) and only want the values.
The inputs and outputs that matter
input_string- your pasted block, one entry per line (or per delimiter).delimiter- what to split on,\nby default.ignore_before_equals- strip aname=prefix off each part if you're using that format.
Outputs are simply part1 through part5, each a plain STRING, ready to wire straight into whatever five things need separate text - five prompt fragments, five file paths, five labels for a Show node, whatever.
Five is a hard limit baked into the node - if you only feed it three lines, you'll just get empty strings for part4 and part5. If five isn't enough, the same pack ships Text split in 10 right next to it, same idea, more slots.
How to install it
Easiest path is ComfyUI Manager: open it, search "Bjornulf_custom_nodes" or "Bjornulf," install, restart. Manually, it's the usual:
cd ComfyUI/custom_nodes
git clone https://github.com/justUmen/Bjornulf_custom_nodes
then restart ComfyUI. The pack has a requirements.txt covering things like ollama, opencv-python, ffmpeg-python, and a handful of others for its video/TTS/AI nodes - none of that matters for this specific node, which needs nothing beyond core ComfyUI. If you're on Linux, using a python venv for ComfyUI is the recommended path (pip install -r requirements.txt inside the custom node folder, with your venv activated); on Windows with the portable build you'd run the pip install through python_embeded\python.exe.
Common issues & troubleshooting
Manager doesn't always surface it under a shorter search. This is a real reported friction point with the pack - search the exact repo name ("Bjornulf_custom_nodes") rather than something generic, or fall back to the manual git clone if Manager comes up empty.
Blank outputs past the line count you actually have. Not a bug - the node always emits five outputs, so if your input only has two lines, part3 through part5 are just empty strings. Wire only as many as you're actually using downstream, or you'll be chasing a "why is this blank" that isn't really a problem.
Wrong delimiter, wrong split. If your text uses commas or semicolons instead of newlines and you forget to change delimiter, you'll get all your text crammed into part1 and nothing in the rest. Worth double-checking before you assume the node is broken.
This node is honestly a stopgap: if you're regularly splitting text this way, a proper Loop node (also in this pack) is usually the more scalable answer. But for "I have exactly a handful of things and I just want them as separate wires, right now," it does the job with zero setup.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| input_string | STRING | โ | |
| delimiter | STRING | \n | โ |
| ignore_before_equals | BOOLEAN | false | โ |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| part1 | STRING | โ |
| part2 | STRING | โ |
| part3 | STRING | โ |
| part4 | STRING | โ |
| part5 | STRING | โ |