ComfyUI Node

Split Tags

Carve one tag list into two without losing any of it

By NMWave·Created 2 years ago·Updated 6 months ago· 6
Split Tags
    • STRING
    • STRING
    tag_field
    tag_amount_to_split1
    tag_delimiter,

    When you're generating batches, you often want two different outputs from one tag list - first ten tags into the positive prompt, the rest set aside, or a fixed character description separated from a pool of variable style tags. Split Tags does exactly one thing: it cuts a comma-separated tag list at a count you choose and hands you both halves. First output gets the first N tags, second output gets everything after. Nothing is lost, nothing is reordered, and the output strings stay cleanly rejoinable.

    It's the kind of node that looks trivial and then quietly unblocks a workflow. Combine it with the pack's other text nodes and you can build prompt pipelines that reshuffle, truncate, and remix tag sets without writing any Python.

    How it works

    The split is a simple index cut. It splits tag_field on tag_delimiter, keeps the first tag_amount_to_split tags for output one, and joins the remainder for output two.

    Three inputs, and the first two are the ones that matter:

    • tag_field - the tag string to split (wired in from a tagger, wildcard processor, or another text node).
    • tag_amount_to_split - how many tags go into the first output. Default 1. This is the one people misread: it's "first N tags in output 1," not "split into N equal parts."
    • tag_delimiter - the separator, default , .

    Outputs are two STRINGs - feed them to two CLIP encodes, or to positive and negative, or downstream into more splitting.

    One behavior worth knowing: if the list has fewer tags than your split amount, output one gets the whole original string and output two gets an empty string. No error, no crash - which is usually what you want, but it's also silent, so a misconfigured amount can just quietly stop splitting.

    Install

    Same pack, same drill. ComfyUI Manager → search "Nader Tagging" → install → restart. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/NMWave/ComfyUI-Nader-Tagging
    

    No dependencies, no models, nothing to configure beyond the node itself.

    The usual gotchas

    The delimiter matching is exact. If your tag list uses , but you set the delimiter to ,, the split produces leading spaces and the "clean" halves carry stray whitespace into your prompt. Set the delimiter to match your source exactly.

    Also remember the tags come through verbatim - no trimming, no dedupe, no normalization. If you need dedupe, run the result through the pack's Tag Duplicate Remover first; the two nodes chain naturally.

    Where this shines: keeping a fixed character-tag block stable while the "action" tags vary between generations, or truncating a tagger's noisy long output down to the N most important tags before it hits your encoder. For a zero-config node, that's a lot of leverage.

    CategoryNMWave/text

    Inputs (3)

    NameTypeDefaultDescription
    tag_fieldSTRING
    tag_amount_to_splitINT1
    tag_delimiterSTRING,

    Outputs (2)

    NameTypeDescription
    STRINGSTRING
    STRINGSTRING