How-to guides
How to add a QR code to a livestream overlay
In OBS add an Image source pointing at your QR PNG, place it in a corner clear of the webcam and captions, and keep it at least 200 pixels square on a 1080p canvas. A static overlay stays sharp even at low bitrates because encoders spend their bits on motion.
The OBS setup
- Generate the code with the URL generator and download PNG at 400 px or more.
- In OBS: Sources → + → Image, select the file.
- Drag it into a corner, size it to at least 200 × 200 px on a 1080p canvas, then right-click → Lock so it cannot drift mid-stream.
The same applies in Streamlabs, vMix or any compositor: the code is just an image source. If you stream a 720p output, scale up proportionally: what matters is pixels in the encoded output, not the canvas.
Why a static overlay beats everything else
Stream encoders work at a fixed bitrate and spend bits where the picture changes. A QR code that never moves costs almost nothing after the first seconds and stays pin-sharp even when gameplay or camera motion crushes the rest of the frame. Animated, bouncing or periodically-appearing codes get re-encoded every time they move and come out soft, and a code that appears briefly fails the minimum on-screen duration problem anyway. Persistent and boring wins.
This is also the honest reason QR codes suit streams so well: viewers watch for minutes or hours, so even a small corner code gets scanned eventually, without interrupting anything.
Transparency: yes for the frame, no for the code area
A transparent PNG lets the overlay blend with your scene, but the code itself must sit on a solid light background. Modules floating directly over gameplay have no stable contrast and no clean quiet zone, and will not scan. The pattern that works:
- code with an opaque white card (rounded corners are fine outside the quiet zone),
- transparency only around that card.
Details and failure modes are in transparent QR codes.
Placement
- Away from your webcam frame, alerts and chat overlays.
- Not the bottom edge: Twitch and YouTube draw player controls and captions there, and highlight clips often crop edges.
- Top-left or top-right, inset by at least 16 px, is safe on every player. Full per-platform notes are in QR codes on livestreams.
Keep the payload short: a low-version code has larger modules for the same 200 px, which is what survives both downscaled mobile players and clip compression.
Test it like a viewer, not like the streamer
The OBS preview lies: it shows the pre-encode canvas. Go live (or use a private test stream), open the stream on the platform at typical quality on a laptop, and scan the screen with your phone from arm's length, the mechanics of scanning a code off a monitor apply. Then check the payload itself with the validator. If it scans from a 480p mobile player, you are done.
FAQ
How big should a QR code be on a stream overlay?
At least 200 pixels square on a 1080p canvas, and bigger if your audience mostly watches on mobile at reduced quality. Combined with a short URL, that keeps individual modules large enough to survive the platform's re-encode.
Why is my overlay QR code blurry on the stream?
Either the source PNG is smaller than its displayed size, or the code moves and the encoder smears it. Use a source image at or above display size and keep the overlay perfectly static.
Should the QR code appear all stream or just sometimes?
Persistent wins. Viewers need time to notice and scan, encoders keep static regions sharp, and clips retain the code. If a permanent overlay feels heavy, use a small persistent code and enlarge it during breaks.
Can the QR code have a transparent background?
The overlay file can be transparent, but the code needs an opaque light card behind the modules and quiet zone. A code composited straight onto moving video has no reliable contrast and will fail to scan.
Try it: free, no signup
Related
- How to add a QR code to a YouTube video, End screens and cards can't hold a QR code: burn it into the frames. At least 25% of frame height, on screen 10 seconds or more, away from player UI.
- Minimum on-screen duration for a QR code, A primed viewer needs 8–12 seconds to unlock, aim, focus and decode. Show codes for at least 15–20 seconds, or keep them persistent in a corner.
- Putting a QR code on video, Sizing and placing a QR code burned into video: the 10:1 rule from couch distance, the percent-of-frame maths, and why the code must not move.
- How to make a transparent QR code, Toggle the transparent background in the generator or add bg=transparent to the API URL, download PNG or SVG, and re-check contrast against what shows through.