QR Code Generator @ vrch.ai
Point a phone at the screen, get your viewer URL
- QR_CODE
The QR Code Generator from the ComfyUI Web Viewer pack exists for one moment: you're doing something live, the output is on a big screen, and you want everyone's phone pointed at it. You feed this node the URL of your web viewer, it renders a QR code as an image, and the room scans it instead of typing a URL that ends in a port number. It sounds like a party trick until you've done a show with it - then it feels like the most practical node in the box.
How it works
Under the hood it uses the qrcode[pil] library that the pack's requirements.txt installs, so there's no model download and nothing clever going on. You give it text, it gives you back an IMAGE you can show, save, or project. The inputs are exactly what a QR encoder needs:
text- the string to encode. For this pack the natural move is to wire it from theURLoutput of a Web Viewer or WebSocket Viewer node, so the QR always points at your current viewer.size- output resolution in pixels, 64–1024, default 256. 256 is fine for a thumbnail; bump it if the QR is going on a wall.error_correction-L,M,Q, orH. This is the setting that actually matters in the real world: higher levels survive more damage and more glare, at the cost of a denser pattern.Mis the default; for stage lighting or any display that isn't a clean monitor,His a lot less frustrating.border- quiet-zone width in modules, default 2. Leave it at least 2; QR scanners need that empty margin or they fail on perfectly good codes.
The single QR_CODE output is a standard ComfyUI IMAGE, so it flows into Save Image, a Web Viewer node, or a compositing stack the same as any render.
Where it fits
Think of it as the final hop in an interactive pipeline. The web viewer gives you a URL; this node turns that URL into something an audience can physically enter. For the pack's live-control world - gamepad portraits, OSC-driven visuals, a flipbook viewer running on a projector - putting a QR on the corner of the screen is how spectators get the same view on their own devices. It also works for mundane things like embedding a model card link or a settings page into an image you're about to send someone.
Installing it
It's one node in the pack, installed the usual way:
- ComfyUI Manager → search ComfyUI Web Viewer → install.
- Manual:
Windows portable:cd ComfyUI/custom_nodes git clone https://github.com/VrchStudio/comfyui-web-viewer pip install -r requirements.txtpython_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\comfyui-web-viewer\requirements.txt. - Restart ComfyUI.
The QR library comes along in that requirements file. First install is slow because the file also pulls the optional Music2Emotion stack (librosa, pytorch_lightning, numba), but nothing about that touches this node.
Gotchas worth knowing
Keep the error_correction at H for anything projected or backlit - a scanner that can't read your code at the exact moment the room is watching is the one failure mode that actually hurts. And remember the QR is only as good as its URL: if the ComfyUI server is on a LAN IP that phones can't reach (or a self-signed TLS host they won't trust), the code scans fine and then nothing loads. Test it from a phone on the same network before you commit to the bit.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — | |
| size | INT | 25664–1024 | — |
| error_correction | COMBO | M | 4 options: L, M, Q, H |
| border | INT | 20–20 | — |
| debug | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| QR_CODE | IMAGE | — |