Where the video lives decides everything
A video QR code encodes a URL — a code holds about 2,953 bytes, roughly a tenth of a second of video. So the only real decision is the destination, and the three options behave very differently on a phone.
| Destination | First frame appears in | Data used | Control you keep |
|---|---|---|---|
| YouTube / Vimeo link | 1–2 s | Adaptive, low on poor signal | Little — their player, their suggestions |
| Your own page with a player | 2–3 s | Adaptive if you serve HLS/DASH | Full |
Direct .mp4 file link |
5–20 s | Whole file, no adaptation | Full, but the experience is poor |
Direct MP4 links are the trap. They look like the clean, dependency-free option and behave badly: no adaptive quality, so a viewer on weak signal gets a stalled progress bar rather than a lower-resolution stream; a bare browser player with no title or controls to speak of; and on some Android browsers the file downloads instead of playing. Use them only for very short clips where you control the network.
For anything a stranger will scan in public, a hosted platform or your own adaptive-streaming page is the right answer. YouTube and Vimeo have solved playback across every device and connection quality, which is a genuinely hard problem you should not be re-solving on a poster.
YouTube URL forms and what each one does
https://youtu.be/dQw4w9WgXcQ → short form, 28 characters
https://www.youtube.com/watch?v=dQw4w9WgXcQ → long form, 43 characters
https://youtu.be/dQw4w9WgXcQ?t=45 → starts at 45 seconds
https://www.youtube.com/embed/dQw4w9WgXcQ → embed player, no suggestions sidebar
Use the youtu.be short form for QR codes. It saves 15 characters, which is often a full version of QR density, and it resolves identically.
The ?t= parameter is underused and genuinely valuable on printed material. If your code appears next to a specific exhibit, product or step, deep-link to the moment in the video that covers it rather than making the viewer scrub through eight minutes to find it.
Autoplay: what you can and cannot have
Mobile browsers block audio that starts without a user gesture. There is no way around it and no setting that changes it.
What you can have is muted autoplay — video that starts playing silently, with an unmute control. This is permitted on iOS Safari and Chrome, and it is why so much of the web works this way.
Practically:
- A YouTube link scanned from a camera opens the app or the web player and waits for a tap. It will not start on its own.
- Your own page can autoplay muted, which gives motion immediately and lets the viewer choose sound. For product demos and how-to clips this works well.
- Anything depending on the viewer hearing audio in the first three seconds will fail. Put the essential information on screen as well.
Design for a tap. A poster that says "scan to watch" and lands on a paused frame with a big play button is honest and works; one that promises instant playback does not.
Orientation is a real decision
A landscape video scanned on a phone held vertically fills about a third of the screen. The viewer must either squint or rotate the phone, and a meaningful share will do neither.
- Vertical (9:16) fills the screen and matches how people hold phones. Right for social-style content, short demos, and anything scanned while standing up.
- Square (1:1) is a reasonable compromise and works in both orientations.
- Landscape (16:9) is right for anything cinematic, anything with wide framing, and anything that will also be watched on a laptop or television.
If the code is on a poster, a shelf edge, or a piece of packaging — contexts where the viewer is standing and holding the phone one-handed — shoot vertical. If it is in a printed report or a document read at a desk, landscape is fine.
Captions are not optional
A large share of mobile video is watched with sound off, and a viewer standing in a shop or a gallery is unlikely to have headphones. Beyond that, captions are what make the content usable for deaf and hard-of-hearing viewers.
- Burned-in captions always appear, on every platform, and cannot be turned off. Right for short social-style clips.
- Closed captions (an uploaded
.srtor.vttfile) can be toggled, translated automatically on YouTube, and are indexed by search. Better for longer content. - Auto-generated captions are a starting point, not a finished job. They mangle names, technical terms and anything said with an accent. Correct them.
Captions also help viewers who scan a code in a noisy environment and simply cannot hear, which describes most public places where QR codes get scanned.
Data cost, and telling people about it
Video is the most bandwidth-hungry thing a QR code can lead to:
| Quality | Data per minute |
|---|---|
| 360p | ~5 MB |
| 720p | ~15 MB |
| 1080p | ~30 MB |
| 4K | ~110 MB |
A ten-minute 1080p video is 300 MB. On a metered plan that is a real cost, and some viewers will notice and resent it.
Two things follow. Keep videos short — under two minutes for anything scanned in passing. And where a video is long, say so on the printed material: "6 min video" sets an expectation and lets people decide whether to watch now or save it for WiFi.
Making the code work in the physical world
The video is only half of it; the code has to be scannable where it sits.
- Print size follows the 10:1 rule. A code read from 3 metres wants to be around 30 cm across. Codes on high shelves and wall displays are routinely printed at business-card size and are unusable.
- Say what the video is. "Scan me" performs far worse than "How to fit it — 90 sec video." People decide whether to scan based on what they will get.
- Consider the viewing position. A code at eye level on a wall is easy to scan; the same code at ankle height on a plinth is not.
- Avoid glass and gloss where possible — reflections from gallery lighting break scans more often than any other environmental factor.
Where video codes work
- Product packaging — assembly, setup, first use. Replaces a booklet nobody reads.
- Retail shelf edges — a 30-second demo at the point of decision.
- Museums and galleries — artist interviews, conservation footage, context that will not fit on a label.
- Property boards and listings — a walkthrough tour from the pavement.
- Trade show stands — a demo running without staffing.
- Training and safety notices — the correct procedure shown rather than described.
- Restaurant menus — preparation or provenance for signature dishes.
- Event programmes — speaker introductions and session previews.
Frequently asked questions
Can the video be inside the QR code?
No. A QR code holds about 2,953 bytes at most, which is a fraction of a second of video. Every video QR code links to a hosted file or platform page.
Will the video autoplay when scanned?
Not with sound — mobile browsers block that universally. A page you control can autoplay muted video with an unmute button. A YouTube or Vimeo link always opens paused and waits for a tap.
Should I use YouTube or host the file myself?
YouTube or Vimeo for anything scanned by the public: they handle adaptive quality, device compatibility and bandwidth, which is a hard problem. Host it yourself when you need no branding, no suggested videos, and full control — and serve adaptive streaming rather than a bare MP4 if you do.
What is the best YouTube URL format for a QR code?
The short youtu.be/VIDEO_ID form. It saves 15 characters over the full youtube.com/watch?v= URL, which is often a whole version of QR density. Add ?t=45 to start at a specific moment.
Vertical or landscape?
Vertical for anything scanned while standing — posters, packaging, shelf edges — because it fills the phone screen. Landscape for content that will also be watched on larger screens, or where wide framing matters.
How long should the video be?
Under two minutes for anything scanned in passing. Longer videos are fine when the viewer has chosen to sit down with them, but tell them the length on the printed material so they can decide.
Can I change the video later without reprinting?
Yes, if the code points at a URL you control that redirects to the video. A direct YouTube link is fixed to one video, though you can replace the content behind an unlisted link on your own domain freely.