ComfyUI Node

Joiner Padding

Invisible characters between every letter

By silveroxides·Created 11 months ago·Updated 3 months ago· 20
Joiner Padding
    • padded_text
    text

    Joiner Padding is the smallest, most honest node in silveroxides' text-edit family: it takes your text and inserts the Unicode word joiner character (U+2060) between every adjacent character, plus one at each end. That's it. The output looks identical to the input - U+2060 is zero-width - but no two letters are ever adjacent in the byte stream anymore.

    How it works

    One regex pass over the text. For every pair of neighboring non-joiner characters, the source inserts a joiner between them, then wraps the whole string with one at the start and end. So "cat" becomes U+2060 + c + U+2060 + a + U+2060 + t + U+2060. A word filter searching for the literal string "cat" will never find it, because there isn't a "cat" in the output anymore - there's c [invisible] a [invisible] t.

    The node takes one multiline text input and outputs padded_text. Nothing else to configure.

    Why it exists

    Same family as the pack's Frakturpad: defeat naive prompt-side text filters while keeping the text perfectly readable to humans and to models that render text. Where Frakturpad changes the letters (bold fraktur), Joiner Padding changes only the spacing - which makes it the gentler option. It's also useful as a general "make this string survive string-matching" tool, e.g. when a downstream tool re-splits or re-joins text and you want to stop it from gluing your tokens back together.

    The honest caveats

    Two things to keep in mind. First, the same word-joiner character that hides the words is exactly what some unicode-normalizing layers strip - copy-paste through certain editors, or an API that runs NFC normalization, can silently remove the padding and leave you with plain text again. Second, this is a filter bypass, and the filters it defeats are the cheap string-matching kind. Anything that decodes unicode before matching will still see your text.

    If you want to undo the padding, note that the pack's UnFrakturPad also strips joiners (the fraktur conversion is a no-op on plain letters), so you don't need a separate "unjoiner."

    Install

    ComfyUI Manager → search ComfyUI_SamplingUtils, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/silveroxides/ComfyUI_SamplingUtils
    

    then restart ComfyUI. The pack's README declares it DEPRECATED in favor of ComfyUI-UtilsCollection, and the actual requirements.txt (kornia, scipy, pilgram, opencv-python, unifiedefficientloader) is heavier than the README's list - but for a pure-string node like this, nothing heavy ever runs.

    Categoryadvanced/text

    Inputs (1)

    NameTypeDefaultDescription
    textSTRING

    Outputs (1)

    NameTypeDescription
    padded_textSTRING