LayerUtility: Create QRCode(Advance)
Create QRCode — generate a scannable QR image inside your graph
- image
This one does exactly what the name says and nothing more: type in some text, get back a plain black-and-white QR code as an IMAGE output. No API key, no model download, no GPU needed. Most people who reach for it aren't trying to make a QR code - they already have one, or a phone camera. They're trying to feed a clean QR pattern into something else downstream, usually a ControlNet.
That "something else" is worth knowing about, because it's the actual reason this node exists in a pack full of AI utility nodes. Back in 2023, "ControlNet for QR Code" became the single highest-scoring ControlNet thread the community ever produced - generating images that look like normal art but are also scannable codes, by using the QR pattern as a brightness/structure condition while the model paints creative detail around it. It's a fun trick and it's still popular, but it comes with a real caveat: the QR Monster ControlNet never got rebuilt past SD 1.5 and SDXL. If your workflow is Flux, SD3, or anything newer, this specific "art that scans" effect isn't currently available to you - that's a documented, ongoing community complaint, not a limitation of this node.
The inputs and outputs that matter
text- the content to encode. No multi-language support (the README is explicit about this - stick to plain ASCII/Latin text).size- the side length of the output image in pixels, default 512.border- how wide the quiet zone around the code is, 1–10. QR readers rely on that blank margin to find the code's edges; too thin a border on a low-resolution scan can make it harder to detect, though it won't affect anything reading directly off this raw output.
Output is a single image - the QR code itself, ready to feed into a ControlNet preprocessor/apply node, save directly, or hand to the pack's own DecodeQRCode node to round-trip and confirm it reads correctly before you build anything on top of it.
How to install it
Recommended: ComfyUI Manager, search "ComfyUI Layer Style Advance". Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/chflame163/ComfyUI_LayerStyle_Advance.git
Then run install_requirements.bat (official portable) or install_requirements_aki.bat (Aki package), or manually install requirements.txt and run repair_dependency.bat. Restart ComfyUI. This node specifically needs none of the pack's heavier model downloads - it's pure Python image generation, so if you only care about QR nodes you can skip the SAM/BEN/LLM model folders entirely.
Common issues & troubleshooting
The QR code doesn't scan after you've run it through a ControlNet pass. This isn't a bug in this node - it's how conditioned generation works. High control weight preserves scannability better but produces less "art," and low weight is prettier but riskier. There's no error-correction-level setting on this node (it isn't in the schema), so you don't get to trade error correction for artistic freedom the way some standalone QR generators let you - what you type is what gets encoded, at whatever the library's default resilience is.
Dense text (long URLs, lots of characters) produces a fine-grained pattern that's harder for a downstream model to preserve. Shorter payloads - a short URL, a shortlink service - survive the "hide it in a painting" process much better than a long string.
Always verify before you build a whole workflow around it. Feed the output straight into DecodeQRCode and confirm you get your original text back before you spend time on the ControlNet side of things. It's a five-second check that saves you debugging a generation pipeline for what was actually a text-length problem.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| size | INT | 5124–99999 | — |
| border | INT | 11–10 | — |
| text | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |