Back to articles

Published · July 25, 2026

How to Make a QR Code That Links to a PDF or Document

A QR code can't store a PDF directly — it stores a link to one. Here's how to host your file, generate the code, and decide between a static or dynamic link.

Quick answer

Short version: a QR code can't hold a PDF. It holds a link to one. Upload your file somewhere with a public share link, then turn that link into a QR code. Scanners never touch the file itself — they just follow the URL, the same way a click would.

That's not a design choice, it's a hard limit. Even the biggest QR version tops out around 3KB of data, and a PDF usually runs several megabytes (how much data a QR code can actually hold). A short URL fits easily in a small, fast-scanning code. Here's the process: host the file, generate the code, then pick static or dynamic.

Step-by-step

Upload the PDF and get a shareable link. Drop the file into Google Drive, Dropbox, or your site's own file folder, and turn on link sharing so anyone with the URL can open it — not just people with edit access. A private or sign-in-gated link fails for anyone who scans your code.

Generate the QR code from that URL. Paste the share link into a generator. Chrome has one built in (More menu → Cast, save, and share → Create QR code), or use a dedicated tool like QRDock. Either way you're encoding a link, not uploading a file.

Decide: static or dynamic. A static code bakes in the exact URL when you create it — simple, and it keeps working as long as the file stays put. A dynamic code points to a short redirect instead, so if the PDF moves to a new host later, the printed code doesn't have to change. Check out static vs. dynamic QR codes for the full tradeoff, including the catch: a dynamic code depends on that redirect service staying online.

Common problems and fixes

The link requires sign-in. Readers hit a wall instead of your PDF. Fix the sharing setting to "anyone with the link" before generating the code.

The printed code is small or laminated. Scuffs and smudges can break a scan. Bump the error correction level up to Quartile or High so the code still reads with some damage — a broken static link means that printed PDF is unreachable until you reprint it.

The file got moved after printing. Now the static code points nowhere. Either keep the file at its original URL for good, or switch to a dynamic code next time so you can repoint it without a reprint.

The PDF is huge and slow to load. Readers on mobile data give up before it opens. Compress the file before you host it.

Doing this on QRDock specifically

Paste your PDF's share link into QRDock and it builds the code in one step. No account, no ads, and we don't track who scans it. Try it at qrdock.app, or grab the app to generate and manage codes right from your phone.

Frequently Asked Questions

Can a QR code contain the actual PDF file?

No. The largest QR code version holds roughly 3KB of data at most, and a typical PDF is megabytes. The code has to store a link to a hosted copy of the file instead of the file itself.

Do I need a special app to make a QR code for a PDF?

No — once the PDF has a public link, any QR generator works, including the one built into Chrome (More menu → Cast, save, and share → Create QR code) or QRDock's own generator.

What happens if I move or delete the PDF after printing the QR code?

A static QR code will break, since it encodes the exact URL at creation time. A dynamic QR code routes through a redirect service, so you can repoint it to a new file location without reprinting.

Which error correction level should I use for a printed QR code linking to a PDF?

Use Quartile (Q) or High (H) if the code will be printed small, laminated, or handled a lot, since higher levels tolerate scuffs and smudges — and a broken static link means the printed PDF can never be reached again.

Where should I upload the PDF before generating the QR code?

Anywhere that gives you a public or link-shared URL — Google Drive, Dropbox, or your own website's file folder. The link needs to be reachable by anyone who scans the code, not just people with edit access to the original file.

Conclusion

Linking, not embedding — that's how a QR code gets someone to a PDF. Host the file, share the link, generate the code from that URL. Go static if the file's home is permanent. Go dynamic if you might need to move it later without reprinting.