How to make a QR code for a PDF
Menus, brochures, spec sheets, event programmes, instruction manuals — the PDF is the file people actually want to hand out with a QR code. The code cannot hold the file. It can only hold a link. Everything that goes right or wrong depends on whose link it is.
The five-minute version
- Put the PDF somewhere with a stable public link you control: your own website, Google Drive, Dropbox, OneDrive. Set sharing to “anyone with the link can view”.
- Open the link in a private browser window to confirm it opens the PDF without a sign-in prompt.
- Paste the link into a static QR generator as a plain URL code. Not a “PDF QR code” feature — a URL code.
- Scan it with your phone, then export a PNG or SVG and print it at a size that matches the scanning distance.
Why a QR code can’t hold a PDF
A QR code is a picture of some text. The largest version, printed impossibly dense, tops out around 3 KB; a code that has to scan from a flyer at arm’s length holds a few hundred characters at most. A one-page PDF is a hundred times bigger. So there is no such thing as a QR code containing a PDF — only a QR code containing a link, and a phone that follows the link and downloads the file from a server.
This is not a limitation to work around; it is the whole design. But it means “make a QR code for my PDF” is really two separate jobs: host the file, then encode the link. Generators that bundle the two into one button are doing the hosting for you — and that is where the trouble starts.
The “PDF QR code” upsell, explained
Most QR generators advertise a PDF option. You upload the file, they give you a code. What actually happens: they store your PDF on their server and encode a short link on their domain — something like qrxyz.io/a8Fk2 — that redirects to it. That is a dynamic QR code, and it means the printed code depends on their server, their domain and your subscription staying alive, forever.
The pattern that fills the complaint threads: the free trial covers the upload, the code scans perfectly, the brochures get printed — and two weeks later the trial lapses, the short link stops redirecting, and every copy shows an error page or a “this code has expired” screen with a reactivation price. The PDF did not expire. The redirect did. Reprinting costs more than the plan, which is the point.
None of this is illegal or even hidden — it is a hosting product billed as a QR product. It is just the wrong tool for anything you print, because the thing you print is permanent and the thing it depends on is a monthly plan.
Host the PDF where the link is yours
- Your own website: the best option if you have one. Upload the file to a sensible path (
yoursite.com/menu.pdf) and encode that URL. You can overwrite the file at the same address whenever the content changes, and the code never notices. - Google Drive: upload, right-click → Share → “Anyone with the link” → Viewer. Copy the link. To update later, right-click the file → Manage versions → upload the new file: the link stays the same.
- Dropbox / OneDrive: create a share link set to anyone-can-view. Replacing the file in place normally keeps the link; test it once before you rely on it.
- Document hosts (Issuu, Scribd, Notion public pages): fine for a viewer experience, but the link is on their domain and their terms — one step better than a QR-service redirect, one step worse than your own site.
Whatever you pick, open the link in a private window before you encode it. If it asks you to sign in, the sharing setting is wrong, and every scanner will hit the same wall.
Encode it as a static URL code
Paste the link into the generator as an ordinary URL. Long cloud links (a Google Drive share URL runs 80–100 characters) make a denser code than a short one, so print it slightly larger — the print-size guide has the numbers, but a 3 cm code is a safe floor for anything held in the hand and 5 cm for a table or wall. If you own a domain, a short path like yoursite.com/menu.pdf gives a sparser, more forgiving code than any share link.
Skip a logo overlay for dense codes on cheap print; if you want styling, keep the contrast high and the quiet zone clear. Then scan the finished code with your own phone from the distance a reader would, and check that it opens the PDF and not a preview page that hides it behind another tap.
Keep it working after printing
- Never move or rename the file — the link is the contract. Change the contents in place instead.
- Keep the file public. A colleague tightening sharing settings six months later is the most common way a working code dies.
- Prefer a URL that lets you swap the file. A menu changes; a code on the table should not have to.
- Print a caption — “Scan for the full menu (PDF)” — so people know what a scan will download.
Do all of that and the code you print today opens the file you upload in five years, with no plan to renew and nobody in the middle who can switch it off.