# 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.

Source: https://useqr.app/docs/how-to/how-to-add-a-qr-code-to-a-livestream-overlay · Last reviewed 2026-08-21 · UseQR is free forever, no signup.

---

## The OBS setup

1. Generate the code with the [URL generator](/url) and download PNG at 400 px or more.
2. In OBS: **Sources → + → Image**, select the file.
3. 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](/docs/design/minimum-on-screen-duration-for-a-qr-code)
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](/glossary/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](/docs/design/transparent-background-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](/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](/docs/scanning/scanning-a-qr-code-off-a-monitor) apply.
Then check the payload itself with the [validator](/validate). 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

- https://useqr.app/url
- https://useqr.app/validate
- https://useqr.app/size-calculator
