QR codes on a TV screen that people actually scan
Most codes on a screen go unscanned for three physical reasons: they are too small for the distance, they are not up long enough, and nothing says what scanning gets you. Here is the sizing arithmetic and the fix for each.
The short version, in 7 steps
- Open the show in the editor and pick the slide the code belongs on.
- Open the Elements tool, scroll to the Widgets list, and add QR code.
- Paste the destination into the Link field in the panel on the right.
- Set W and H together from the sizing table, because the code fills its box and an unsquare box gives a stretched code.
- Put a plain light rectangle behind the code and leave clear space on all four sides.
- Write one short line beside it saying what happens when somebody scans.
- Stand where your customers stand and scan it with your own phone before you walk away.
There is a QR code on the board. It has been up three weeks, and the link behind it has had four clicks, two of them you checking it worked. The code is not broken and the phone is not at fault.
A code on a screen gets scanned when three physical things are true at once: it is big enough for the distance people actually stand at, it stays on screen long enough for somebody to get a phone out and aim, and something beside it says what they get for scanning. Miss one and the code is decoration. All three take about five minutes to set.
How do I add a QR code to a slide?
The widget is built in and free on every plan.
- Open the show and pick the slide the code belongs on.
- Open the Elements tool, scroll to Widgets, and click QR code.
- In the panel on the right, paste the destination into Link.
- Leave Color at its near-black default unless the board forces otherwise.
- Set W and H to the pair the next section works out. Both, not just W.
A Logo option appears only when the workspace has a brand kit with a logo, stamping the mark in the middle and raising the error correction to compensate. Brand kits start on Pro; below that the option is absent, which costs the code nothing.
How big does a QR code have to be on a screen?
Start from 1:10: the code wants to be roughly a tenth of the scanning distance across, so a code read from 3 metres wants to be about 30cm wide. Treat that as a starting point, not a law, since cameras and lighting both move it.
The widget’s W is a percentage of the slide width, so one number means different centimetres on every panel. It arrives at W 16:
| Panel | Slide width | W 16 is | Scans from | For 3 metres |
|---|---|---|---|---|
| 43 inch | 95cm | 15cm | 1.5m | W 32, H 57 |
| 55 inch | 122cm | 20cm | 1.9m | W 25, H 44 |
| 65 inch | 144cm | 23cm | 2.3m | W 21, H 37 |
So the default suits somebody 2 metres away: a counter, not a waiting room.
Move W and H together, and this is the part that bites. The code fills its box exactly, and nothing keeps that box square: W, H and every corner handle move on their own. Raise W by itself and the code gets wider, not bigger, with oblong squares a phone camera is not built to read. W counts across the slide and H counts down it, so a square box is H = W x 1.78 on a landscape show and W x 0.56 on a portrait one. That is why a QR on a 16:9 show is born at W 16, H 28.
On a screen hung sideways the default is far too small, because the slide’s width is now the panel’s short edge. A 55 inch portrait panel is about 68cm across, so W 16 is an 11cm code good to about a metre, and 3 metres would take W 44 with H 25, nearly half the board. The same arithmetic governs type: how big the text has to be runs it for words.
Then test it: stand where a customer stands, with your own phone, and see whether it catches inside two seconds. That beats every table on the internet, this one included.
How long does it have to be on screen?
A slide holds for 8 seconds by default. Somebody has to notice the code, decide it is worth it, get the phone out, wake the camera and aim. Eight seconds covers that only if the noticing happened on the slide before.
Two fixes, the second better:
- Put the code on the longest-held slide, and lengthen that slide.
- Put the same code in the same corner of every slide. Its dwell time becomes the whole loop, so somebody who spots it on slide two can still scan on slide three.
Another reason fewer slides wins: three slides, not thirty.

Why does nobody scan a code they can plainly see?
Because a bare code is not an offer. It is a grey square asking for a favour.
It needs a line beside it saying what happens, in the customer’s terms. “Scan for our website” is a request. “Scan to book Thursday’s 7pm class” is a reason, and so is “Scan for the full wine list”. One short line, readable at the same distance as the code, is the whole fix.
Then check the other end on a phone, off your own wifi. A page that needs pinching, a PDF that opens at 20% zoom or a form with eight fields is one more obstacle after the one they just cleared.
Where on the board should the code go?
Dark code on a light panel, not the other way round. The widget draws on a transparent ground, so whatever sits behind the code becomes its ground, and a near-black code on a dark photo has nothing to read against. Give it its own panel: add a Rectangle from Elements, make it near white, size it a little larger than the code on every side, then right-click it and Send to back. Inverted codes are read by some phones and not others.
Leave clear space. Keep plain colour round the code at least as wide as a few of its own squares. A photograph running right up to it is why a code that looked fine on a laptop fails in the room.
Stay off the edges, inside the middle 90% of the slide, because some televisions still crop their outer pixels. The safe area and the 5% margin has the numbers.
Look at what is in front of the screen. The bottom third of a panel behind a counter is usually blocked by the counter or a card machine. If the panel is mounted high, keep the code low on it: a phone aimed steeply up at a glossy screen photographs the ceiling lights.
Can I count the scans?
Not from here. ChannelOS does not report scans: a scan happens between a phone camera and a URL, and the screen never hears of it. Put the counting in the link, with a short link that keeps its own click statistics or a tracking parameter on a page of your own, and note what that link was getting beforehand, so the number you read in a fortnight has something to sit against. To know which board earned a click, give each screen its own link, which means its own show: showing the same thing on many TVs covers when that is worth it.
Keep the link short. More characters means more squares, and smaller squares at the same code size. Past the code’s capacity the widget stops using your link at all, dropping a brand logo first and then falling back to the channelos.tv address, with a red line in the panel saying so.
When a QR code is the wrong answer
When the next step does not need a phone. If the customer’s next move is to order at the counter, put the price on the board and skip the code. A code leading to what is already on screen adds a step for nobody.
When the screen cannot be reached. Behind glass in a walkway, above a doorway or across a car park, the code would have to be larger than the useful part of the board. A short web address does better.
When the panel fights the camera. A glossy screen in direct sun, or angled so the room lights bounce off it, defeats a camera at any code size. That is mounting and lighting, not a setting.
On a free screen, allow for the disclosure. A free screen carries a ChannelOS banner along the bottom, and every minute or two it rises to cover most of the frame for about 30 seconds, naming what ChannelOS is and the channelos.tv address, before folding back. Keep the code out of the bottom strip, and reckon on the slide behind that panel being covered between a fifth and a third of the time. Any paid plan removes both.
Go and stand where your customers stand, and scan the board with your own phone. If it does not catch in a couple of seconds, raise W and H together, put a light rectangle behind it and try again from the same spot. Two minutes of that beats another week of a code nobody uses.
Frequently asked questions
- Do QR codes work on a TV screen?
- Yes. A phone camera reads a code off a lit panel the same way it reads one off paper, and in some ways better, because the screen supplies its own light. Two things make a screen harder than a poster. The code is only up while that slide is airing, so there is a time limit a poster does not have, and a glossy panel in direct sun can throw a reflection across the code that the camera cannot see past.
- How big should a QR code be on a screen?
- A workable rule of thumb is that the code wants to be about a tenth of the scanning distance across. Read from 2 metres, that is roughly 20cm; read from 3 metres, roughly 30cm. On a 55 inch landscape screen the slide is about 122cm wide, so 30cm is about a quarter of the slide width, which is W 25. Set W and H together, because the code fills its box: a square box on a 16:9 show is H = W x 1.78. Treat it as a starting point and test it from where people really stand, because phone cameras differ.
- Where should I put a QR code on a digital sign?
- Somewhere nothing stands in front of, and not hard against an edge. Keep it inside the middle 90% of the slide, because some televisions still crop their outer pixels. Avoid the bottom strip if a counter, a queue or a till display sits in front of the lower half of the screen. If the panel is mounted high, keep the code in the lower half so the phone is not aimed almost straight up at a reflection.
- Can I track QR code scans from a screen?
- Not from ChannelOS. Nothing in the app counts scans, so the counting has to live in the link. Use a short link with its own click statistics, or a page on your own site with a tracking parameter on the end so the visits appear in the analytics you already have. If you want to know which board did it, give each screen a different link.
- Why is my QR code not scanning off the TV?
- Work through five things in order. Shape first, because the code fills its box and raising W on its own stretches it wide: if it looks oblong, that is the fault. Size against the distance you are standing at. Contrast, because the widget draws the code on a transparent ground, so a dark code on a dark slide has nothing to read against. Clear space, since a photograph running right up to the code can confuse the camera. And glare, which is a panel and lighting problem rather than a design one.
Further reading
Do it on a real screen.
Open the player on the TV, scan the code with your phone, and publish a show. Your first screen is free.
Free screens show a ChannelOS banner, and about every 2 minutes it opens into a full ChannelOS slide; any paid plan removes both.