Nodes/ComfyUI-Simple_QR_Codes/πŸ›Έ QRCodes (Segno Simple Version)
ComfyUI Node

πŸ›Έ QRCodes (Segno Simple Version)

The QR node that doesn't blur when it gets big

By zentrocdotΒ·Created 2 years agoΒ·Updated 2 years agoΒ· 2
πŸ›Έ QRCodes (Segno Simple Version)
    • IMAGE
    • MASK
    • INVERTED_MASK
    β—„darkdarkredβ–Ί
    β—„lightsalmonβ–Ί
    β—„textβ–Ί
    β—„width512β–Ί
    β—„height512β–Ί
    β—„scale4β–Ί
    β—„error_correctβ–Ύβ–Ί
    β—„versionβ–Ύβ–Ί
    β—„border4β–Ί
    β—„mask_colorβ–Ύβ–Ί

    Why segno is worth caring about

    The qrcode-based nodes in this pack have a documented weakness: they generate the code small and then stretch it to your canvas, which softens the modules. QRCodes (Segno Simple Version) takes a different path. It's built on segno, a pure-Python QR library that renders at true native resolution - you tell it how many pixels each module gets via scale, and the output is crisp at any size. No generate-then-resize blur. That's not a niche complaint either: segno is the exact library that got recommended in the "ControlNet for QR Code" thread - the community's single most-upvoted ControlNet post - as the right way to produce the clean base codes that feed artistic-QR workflows. This node is essentially that suggestion, shipped as a ComfyUI node.

    What you get

    A friendly subset of segno: dark and light colors (which default to darkred and salmon, so it looks deliberately "designed" the moment you drop it in), text, width/height for the final canvas, scale (pixels per module - the thing that keeps big codes sharp), error_correct (H/Q/M/L, and here it defaults to H, the strongest - the opposite of the qrcode family's L), version, and border (the quiet zone, in modules). Plus mask_color (red/green/blue) for the mask outputs.

    Two format notes that differ from the qrcode nodes: colors here are CSS color names ("darkred", "salmon", "navy" - the pack even ships a color-name reference table), not (r, g, b) tuple strings. And the segno nodes default to error correction H, which is exactly the right default for codes you're going to decorate or push through ControlNet.

    Outputs and wiring

    Same triple as the rest of the family: IMAGE, MASK (the QR pattern), INVERTED_MASK (the background). If your goal is the classic pipeline - clean QR β†’ ControlNet brightness condition β†’ stylized but scannable art - this is the node I'd reach for as the clean base, precisely because it doesn't soften at 1024px.

    Where it bites

    • DataOverflowError on default settings. version defaults to 1, the smallest QR (21Γ—21). Segno is strict: if the text doesn't fit version 1, it raises instead of silently upgrading. Any URL longer than a handful of characters crashes on the defaults. Bump version up (2–5 for typical URLs), or keep the payload tiny.
    • dark/light set to "None" breaks nothing here - this node ships with real color defaults - but it's worth knowing the segno family reads "None" as "let segno pick," which matters on its siblings.

    Installing it

    Part of ComfyUI-Simple_QR_Codes. ComfyUI Manager β†’ search "Simple QR Codes" β†’ install β†’ restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/zentrocdot/ComfyUI-Simple_QR_Codes
    cd ComfyUI-Simple_QR_Codes
    pip install -r requirements.txt
    

    Dependencies are segno, segno-pil, qrcode, pillow, and opencv-python - all small, all CPU-side, no model downloads. Find it under QR Code Nodes β†’ segno-based.

    Category🍭 QR Code Nodes/πŸš‚ segno-based

    Inputs (10)

    NameTypeDefaultDescription
    darkSTRINGdarkredβ€”
    lightSTRINGsalmonβ€”
    textSTRINGβ€”
    widthINT5121–8192β€”
    heightINT5121–8192β€”
    scaleINT40–1024β€”
    error_correctCOMBO4 options: H, Q, M, L
    versionCOMBO40 options: 1, 2, 3, 4, 5, 6, +34
    borderINT40–8192β€”
    mask_colorCOMBO3 options: red, green, blue

    Outputs (3)

    NameTypeDescription
    IMAGEIMAGEβ€”
    MASKMASKβ€”
    INVERTED_MASKMASKβ€”