Nodes/ComfyUI-CSV-Loader/Load Negative CSV
ComfyUI Node

Load Negative CSV

The 'I didn't ask for that' dropdown

By Philip-Combs·Created 3 years ago·Updated about a year ago· 20
Load Negative CSV
    • positive prompt
    • negative prompt
    negative

    Sometimes the most important part of a prompt is everything you don't want: disfigured hands, watermarks, blur, text. Load Negative CSV is a dropdown of these anti-requirements, stored in a file you can grow over time. Pick "Image" and it hands you a ready-made list like Blurry, Text, Watermark, Signature, Frame to feed your negative prompt box.

    It's one of ten CSV loader nodes in PCMonsterx/ComfyUI-CSV-Loader, and it's the odd one out in one respect: its value lives in the negative column. The shipped negative.csv has rows like "Human" (with a long disfigurement list) and "Image" (with the watermark/signature list), where the positive side is left blank. For this node you'll wire the "negative prompt" output somewhere, not the positive.

    How it works

    Same machinery as the rest of the pack. At node-menu build time, the node reads custom_nodes/ComfyUI-CSV-Loader/CSV/negative.csv, skips the header, and parses every row into a name → [positive, negative] pair. The names become dropdown options; selecting one returns its strings. Format is name,prompt,negative_prompt, the same layout as Automatic1111's styles.csv - which is deliberate. The pack was built to help A1111 refugees bring their saved prompt libraries into ComfyUI, and this node is where a collection of hard-won "never again" lists lands nicely.

    Inputs and outputs

    One input, one dropdown:

    • negative - every entry is a row name from the CSV. Refresh re-reads the file and rebuilds the list.

    Two STRING outputs:

    • positive prompt - for this node it's typically empty in the shipped rows. The output exists for consistency across the pack, but you'll rarely use it.
    • negative prompt - the one that matters. Wire it into the negative input of a CLIP Text Encode node.

    Since it's just text, you can also chain it: two of these nodes feeding a concatenating text node, or one row here plus a lighting term from the pack's other loaders.

    Installing it

    No dependencies, no model downloads, nothing pip-related. It's pure Python importing only ComfyUI's own folder_paths. Clone and restart:

    cd ComfyUI/custom_nodes
    git clone https://github.com/PCMonsterx/ComfyUI-CSV-Loader
    

    Restart ComfyUI and you're in business.

    Where people get burned

    • Stale dropdown. The CSV is read once when the node menu builds. Edit the file, hit Refresh, or the list won't move.
    • "Error loading negative.csv, check the console." The node's fallback when it can't parse the file. The path is hardcoded with Windows-style separators, so Linux and macOS users hit this most often - check the folder is exactly ComfyUI-CSV-Loader and the CSV is in its CSV subfolder. A row missing a column breaks the parse too.
    • Expect no updates. The README opens with the author calling it unsupported and pointing at Dr.Lata nodes and forks. It works fine frozen, but treat it as finished.

    One honest caveat about the strategy: the mega-negative-prompt era is fading. On LLM-encoded models like Flux the negative prompt box does little, and giant blocklists are mostly dead weight there. On the SDXL lineage - Illustrious, NoobAI, Pony - negatives still do real work, and that's exactly where this node shines. Know your model, then load your list.

    CategoryCSV Loaders

    Inputs (1)

    NameTypeDefaultDescription
    negativeCOMBO1 options: Error loading negative.csv, check the console

    Outputs (2)

    NameTypeDescription
    positive promptSTRING
    negative promptSTRING