A QR code cannot hold your video, and that is fine
Start here, because most pages selling this skip it.
The largest QR code in the spec (ISO/IEC 18004 version 40, error correction L, byte mode) carries 2,953 bytes. That is 2.88 KB. Ten seconds of 1080p footage at 5 Mbps is about 6.25 MB, roughly 2,200 times more data than the biggest QR code ever printed can hold. There is no encoder, no paid tier, and no trick that changes this. The number is fixed by the standard.
So a video QR code stores a link. Someone scans it, their phone opens the URL, the video plays. Every “video QR code” product works this way, including the ones that imply otherwise on their pricing page.
Which means the real question is not how to squeeze video into a square. It is which URL you put in the square, and whether that URL still works in eight months when someone scans the brochure.
Make one
- Paste the video link into the field above. YouTube, Google Drive, Dropbox, Vimeo, Loom, or a ScreenApp share link all work, as does any URL that ends in an MP4.
- Pick an error correction level. M is the sensible default. Jump to H if the code is going on packaging, fabric, or anything that scuffs.
- Download the PNG for slides and email, or the SVG for anything a printer touches.
The code is generated in your browser. Nothing is uploaded, and the URL you type is not sent anywhere to make the image.
No video link yet? Use the uploader in the second tab. It puts your file in ScreenApp, which gives you a share link at screenapp.io/app/#/shared/..., and you paste that back into the generator.
MP4 to QR code, when you have a file instead of a link
This is where most people get stuck, so it is worth being blunt about it.
An MP4 sitting in your Downloads folder has no address. file:///Users/you/Downloads/demo.mp4 only means something on your machine, so encoding it produces a code that fails on every phone that is not yours. The same goes for MOV off an iPhone, AVI, WMV, WebM, and MKV. The container does not matter. What matters is that the file needs to live on a public URL before a QR code can point at it.
So converting an MP4 to a QR code is really two steps:
- Host the file somewhere public. The uploader above does this, or use Drive, Dropbox, or your own server.
- Encode the resulting URL.
Two things worth knowing before you print the result.
iPhone MOV files are usually HEVC. Since iOS 11 the default camera format is HEVC (H.265) in a .mov container. Safari plays it, but a chunk of Android browsers still will not, so a code aimed at the general public is safer pointing at an H.264 MP4. Converting first costs you five minutes and saves the “it doesn’t work on my phone” messages.
Watch the file size. A direct file link means the scanner streams or downloads the raw file over mobile data, with no poster frame and no adaptive quality. A 2 GB export behind a QR code on a table tent is a bad experience for everyone who scans it. Anything over a few hundred megabytes belongs on a proper hosted page rather than a direct file URL.
Short links make better QR codes, and here is the measurement
Every character you encode adds modules to the grid. More modules means smaller squares at the same print size, which means a fussier scan. This is the part that decides whether your restaurant table tent works at arm’s length or makes people lean in.
Same video, six different ways of linking to it, measured against the ISO capacity table:
| Link style | Length | At level M | At level H |
|---|---|---|---|
vimeo.com/123456789 | 27 bytes | 29x29 | 33x33 |
youtu.be/dQw4w9WgXcQ | 28 bytes | 29x29 | 33x33 |
youtube.com/watch?v=... | 43 bytes | 33x33 | 37x37 |
| ScreenApp share link | 44 bytes | 33x33 | 37x37 |
Dropbox scl/fi link | 78 bytes | 37x37 | 49x49 |
Google Drive file/d/.../view?usp=sharing | 81 bytes | 37x37 | 49x49 |
Look at the bottom two rows. A Drive link at error correction H needs a 49x49 grid where a youtu.be link needs 33x33. Print both files at 25mm wide, quiet zone included, and the Drive version’s squares land around 0.44mm across against 0.61mm for the short link. That is the size range where cheap scanners and older phone cameras start to struggle.
Two practical takeaways. Trim ?usp=sharing and any utm_ tail before you generate, since they cost you modules and buy you nothing on a printed code. And if you are choosing where to host the video anyway, a short share URL is worth more than it sounds.
Error correction, in plain terms
QR codes carry redundant data so a damaged code still scans. Four levels, defined in the spec:
- L recovers about 7% damage. Use it for on-screen codes that will never be touched.
- M recovers about 15%. The default here, and right for most print.
- Q recovers about 25%.
- H recovers about 30%. Use it for packaging, menus, outdoor signage, anything that gets handled, folded, or rained on.
Higher levels are not free. They add modules, which shrinks each square at a fixed print size. Going from M to H on a Drive link takes you from 37x37 to 49x49, so you may need to print the code larger to stay scannable, and you have partly cancelled the benefit.
If you turn on the centre logo in the tool, it forces the level to H. A logo covers modules, and covering modules is exactly what error correction exists to survive. Any generator that lets you drop a logo onto an L-level code is handing you something that scans on your desk and fails on a table tent.
Sizing it for print
The rule that has held up: the code should be at least one tenth of the intended scan distance.
| Scanned from | Minimum printed width |
|---|---|
| 30cm (business card, menu) | 3cm |
| 1m (table tent, poster on a wall) | 10cm |
| 3m (trade show banner) | 30cm |
| 10m (billboard, stage backdrop) | 1m |
Keep the white quiet zone around the code, at least four modules wide. Both the PNG and the SVG here ship with it baked in. People crop it off to make the code fit a layout, the code stops working, and the printer gets blamed.
The static versus dynamic tradeoff, stated honestly
This tool makes static QR codes. The URL you type is encoded directly into the pattern, so a scan goes straight to your video with no redirect in the middle. No scan cap, no monthly fee, no third party that can switch off the code, and nothing expires.
The cost is real: you cannot change where a static code points after it is printed. If the video moves, the code is dead paper.
Dynamic QR codes solve that by encoding a short redirect URL owned by the QR vendor, which you can repoint later. Useful. It also means your printed code depends on that vendor’s subscription staying paid and their domain staying alive. Plenty of businesses have discovered that after a print run.
The honest split:
- Printing something long-lived, and the destination might change (packaging, a plaque, a headstone, signage that stays up for years): use a dynamic code from a vendor you trust to still exist, or point a static code at a URL on a domain you control.
- Everything else, which is most cases: a static code pointing at a stable link is simpler, free, and has no failure mode beyond the video itself moving.
Social media and platform links: which ones actually scan
The link you choose is the whole game. What actually happens on scan, per platform:
YouTube. The most reliable target. Scans open in the YouTube app on phones that have it, otherwise the browser. Unlisted videos work fine and are the usual pick for a wedding or a client deliverable. Private videos do not, since the scanner has to be signed in as an approved viewer.
Google Drive. Set sharing to “Anyone with the link” before you print anything. The single most common failure here is a code that scans perfectly for the person who made it, because they are signed in, and shows a permission wall to everyone else. Test it in a private window on a phone that is not signed into your account. Drive also plays video in its own viewer rather than full screen, which looks unpolished on a menu.
Dropbox. Same permission caveat. Dropbox links open a preview page with its own chrome and an upsell, and ?dl=0 links preview while ?dl=1 forces a download, which is almost never what you want from a scan.
Vimeo. Short URLs, clean player, no recommended-video sidebar at the end. The nicest-looking scan target if you already pay for it.
TikTok, Instagram, and Facebook. Treat social links as the least predictable QR targets. All three open the app when it is installed and a cut-down web view when it is not, and the platform, not you, decides what a logged-out scanner is allowed to see. A public Facebook video usually plays in a browser. A Reel, a TikTok, or anything posted to a group or a private account can hit a login wall instead, and the person holding your flyer is not going to create an account to watch it.
There is also the ownership problem. You do not control a social URL. Posts get taken down, accounts get renamed, and Reels get archived, all of which turn printed codes into dead paper. Fine for a poster aimed at people who already use the app. Not fine for packaging, a menu, or anything with a long shelf life.
For print, the safer move with a social video is to download it and host it yourself, then encode that link.
Canva. Canva can drop a QR code into a design, but it encodes whatever URL you give it, so everything above still applies. Publishing your video as a Canva view link means the scan lands on Canva’s viewer, not a video page.
A direct MP4 link. Scans open the file in the phone’s browser player. No transcript, no chapters, no controls beyond play and scrub, and on some Android browsers it downloads instead of playing. It works, it just looks like 2009.
What sits behind the code matters more than the code
Every generator produces the same black and white grid. The pattern is defined by a standard, so there is nothing to differentiate on there.
The difference is the page the scan lands on. Point the code at a ScreenApp share link and the person scanning gets the video plus the transcript, an AI summary, chapters, and captions, on a page that works in a mobile browser with no app install and no account.
That changes what a QR code is useful for:
A sticker on the machine opens the procedure video. The transcript underneath means someone on a loud factory floor, or someone who needs step four and not the whole ten minutes, can read or search instead of watching. Captions cover the noise problem.
Chapters let a scan land on a page where the buyer jumps straight to setup or troubleshooting rather than scrubbing a timeline with their thumb.
Students scan the code on the worksheet. The summary gives them the recap, the transcript makes the content searchable, and neither requires them to sign into anything.
Printed on an order of service or a place card. Guests scan and watch. This is the one case where the static versus dynamic question really matters, because the print run outlives most link-shortening services.
To send a video into ScreenApp and get that link, drop the file into the uploader tab above, or read the longer walkthrough on the video to link converter. Your first recording is free with no card. Continuing past that needs the 7-day Growth trial or Growth at $19/month annual.
Looking for the opposite? Reading a QR code out of a video
If you landed here trying to scan or extract a QR code that appears inside footage you already have, that is a different job and this tool will not do it. You need frame extraction and a decoder run across the frames, not a generator. Worth saying plainly rather than letting you work through the page to find out.
FAQ
Can a QR code contain a video?
No. The maximum a QR code can hold is 2,953 bytes at version 40 with error correction L, which is under 3 KB. Even a one-second clip is hundreds of times larger. A video QR code always stores a link to the video, and the phone fetches it over the network.
How do I turn a video into a QR code?
Get a public URL for the video first, whether that is a YouTube link, a Drive link set to “Anyone with the link”, or a ScreenApp share link. Paste it into the generator at the top of this page, pick an error correction level, and download the PNG or SVG.
How do I make a QR code for an MP4 file on my computer?
A file sitting on your hard drive has no URL, so it cannot be encoded. Upload it somewhere that gives you a link, then encode the link. The uploader tab above does this in one step.
Can I convert an MP4 to a QR code for free?
Yes. Generating and downloading the code is free with no signup, no watermark, and no scan limit. Hosting the file is the separate step: your first recording is free without a card, then the 7-day Growth trial or Growth at $19/month annual. If the MP4 is already online somewhere, you skip that entirely and just encode the link.
Does this work with MOV, AVI, and other formats?
Yes, because the container is irrelevant to the QR code. MOV, AVI, WMV, WebM, and MKV all follow the same two steps: host the file, then encode the URL. One caveat for MOV specifically: iPhone recordings are usually HEVC, which not every Android browser plays, so convert to an H.264 MP4 if strangers will be scanning it.
How do I make a QR code for a TikTok or Instagram video?
Copy the post’s share link and paste it into the generator. Be aware that both platforms can show a login wall to someone who is not signed in, and neither URL belongs to you, so a deleted or archived post kills the printed code. For anything going to print, download the video and host it yourself first.
Does the QR code expire?
The code itself never expires. It is a static pattern printed in ink, and it will keep decoding to the same URL in fifty years. What expires is the link behind it. Dropbox and Drive links break when permissions change or the file moves, so point the code at something stable if it is going to print.
Is there a scan limit?
No. Static codes do not go through a redirect service, so nobody is counting scans and nobody can rate-limit you. The tradeoff is that you also get no scan analytics from the code itself.
Why does my QR code work on my computer but not on other people’s phones?
Almost always a permissions problem, not a QR problem. Open the URL in a private browsing window on a device that is not signed into your account. If you hit a request-access screen, the code is fine and the sharing setting is wrong.
Should I use error correction L, M, Q, or H?
M for most things. H when the code will be handled, folded, printed on fabric or packaging, or has a logo in the middle. L only for codes on a screen that will never be damaged. Higher levels add modules, so an H code needs to be printed larger than an M code to scan from the same distance.
How small can I print a video QR code?
Roughly one tenth of the distance people will scan it from. 3cm across for a menu or business card scanned at arm’s length, 10cm for a poster read from a metre away. Keep the white border, and if the URL is long, print bigger or shorten the URL.
Can I put my logo in the middle?
Yes, using the toggle in the tool. It switches error correction to H automatically, because the logo covers modules and the code needs the extra redundancy to survive it. Keep the logo under about 30% of the code area and test the result with two different phones before printing.
Is this video QR code generator free?
Yes. Generating and downloading the QR code is free, with no signup and no watermark, and the code has no scan limit. Uploading a video to ScreenApp to get a hosted link is a separate step: the first recording is free without a card, then the 7-day Growth trial or Growth at $19/month annual.
PNG or SVG?
SVG for anything going to a printer, because it has no fixed resolution and stays sharp at any size. PNG for slides, email, and web, where a 1024px raster is easier to drop in. Never scale a small PNG up in a layout tool: soft edges are a common cause of codes that scan on screen and fail on paper.
Real-World Performance
Last tested: July 31, 2026. Results run on ScreenApp's own infrastructure.
| Metric | Measured | Test setup |
|---|---|---|
| Maximum QR payload | 2,953 bytes | ISO/IEC 18004 version 40, error correction L, byte mode. The ceiling for anything a QR code can carry, video includedJuly 31, 2026 |
| ScreenApp share link as a QR | 33x33 modules | 44-byte link at error correction M, measured against the ISO capacity tableJuly 31, 2026 |
| Google Drive link as a QR | 49x49 modules | 81-byte link at error correction H, same table. Same video, denser codeJuly 31, 2026 |
| Export size | 1024px PNG, or SVG | SVG has no fixed resolution, so it holds up on large-format printJuly 31, 2026 |