Put a document behind a printed square.
Paste the public link to your PDF and Frame will create a QR code that opens that document when scanned. The file itself isn't stored inside the code or uploaded to Frame — it stays hosted wherever you published it.
Frames use your current colours. Choosing one replaces an active preset.
First put your PDF somewhere that gives it a web link, such as your website, a file host or a cloud drive with public sharing. Then paste that link here and Frame turns it into a QR code you can customize and download. Scanning it opens the document. It's a quick way to connect print to brochures, catalogs, menus, manuals, résumés, event programmes, property packs and course handouts. Frame doesn't upload or host the PDF itself; it only encodes the link. It's free, with no signup.
How do I make a QR code for a PDF? Upload the PDF to your website or file host, copy its public link, paste the link into the box above, customize the code, scan-test it from another device, then download it.
Loading designs…
The PDF lives on your website or file host. Frame never receives, uploads or stores it.
Direct .pdf links, download links, CDN or signed links. The address doesn't have to end in .pdf.
Frame makes sure it's a real http or https address. It can't see what's behind it or who can open it.
The link goes straight into the code, with no Frame redirect, no tracking and nothing to expire.
A PDF QR code is a standard QR code that contains the web address of a document. The PDF itself stays where it's hosted; when someone scans the code, their phone opens that address in the browser or a document viewer and shows the file. A QR code can only hold a short amount of data, which is why it carries the link and not the document.
There's no file upload here. Frame's PDF generator has one field: the document's link. Frame doesn't receive, upload, store, convert or host your PDF. Put the file somewhere that gives you an http or https address first, such as your website, a file host or a cloud drive with a public share link, then paste that address above.
https://, Frame adds it.| Link type | Example shape | Important note |
|---|---|---|
| Direct PDF link | https://example.com/files/brochure.pdf | The simplest option: usually opens the file straight away |
| Download link | https://example.com/download?id=123 | Fine, even without “.pdf” in the address |
| Cloud or CDN link | https://cdn.example.com/document?token=… | Works if it's public; test it signed out |
| Signed link | …/file.pdf?Signature=…&Expires=… | Kept exactly, but it may expire; see below |
| Link with query parameters | …/brochure.pdf?version=2 | Parameters are kept |
| Link with a fragment | …/manual.pdf#page=3 | Kept, though the viewer decides whether to honour it |
The link doesn't have to end in .pdf. Frame checks that it's a genuine http or
https web address and rejects things that aren't, but it doesn't open the link, so it can't tell
whether a PDF is really behind it.
A QR code that scans perfectly can still lead to “Access denied”. The hosting service decides who may open the document, and it may require a login, permission, a company account, an invitation, or a signed link that hasn't expired. Frame doesn't test these rules and can't change anyone's sharing settings. Before printing, open the link in a private or incognito browser window, and ideally on someone else's phone, so you see exactly what a stranger sees.
A direct link usually opens or downloads the document itself. A share or view page, common with cloud drives, first opens the hosting service's own viewer, often with its branding and a download button. Both are valid web addresses, and Frame encodes either one exactly. What appears after scanning is up to the hosting service, so choose the link that gives your readers the experience you want.
Some cloud and CDN systems hand out links that contain temporary tokens, signatures or expiry times. Frame keeps every character of those parameters, but it can't renew them. When the link expires, the printed code still holds the expired address, and scanners see an error. For anything printed that should last, such as packaging, manuals or signage, use a stable public link wherever you can.
Frame keeps query strings such as ?version=2 or ?download=1 and
fragments such as #page=3 exactly as you paste them. Whether a viewer jumps to page
3, or a service treats download=1 as “download now”, depends on the browser and the
hosting service. Frame preserves the address but can't control how it's opened.
The QR code stores the link itself, for example https://example.com/brochure.pdf.
If your host lets you replace the file behind that same address, printed codes keep opening
whatever is there now, so this year's price list can replace last year's without a reprint. That
doesn't make the code dynamic; the link in it never changes. If the document moves to a new
address, such as https://example.com/brochure-2027.pdf, the old codes still point to
the old one, and you'll need a new QR code. The
static vs dynamic QR codes guide explains the
trade-off.
| Web page | ||
|---|---|---|
| Layout | Fixed, exactly like the printed version | Adapts to the screen |
| Best for | Documents to download, keep or print | Reading and navigating on a phone |
| On a small phone | May need zooming and scrolling sideways | Usually easier to read |
| Loading | Big files can be slow on mobile data | Loads piece by piece |
Neither is always better. Use a PDF when the exact layout matters, and a web page when people will mostly read on their phones.
If you've searched for “upload a PDF to a QR code”, this is the key distinction. A file-hosting or document service stores the file, manages who can open it and gives you a link. Frame turns that link into a QR code. You need both. Frame isn't a storage service, so the file, its permissions and its link stay with your host.
Product catalogs, company brochures, price lists, service guides and specification sheets, on packaging, booth signs, flyers, counter cards and print ads. Keep the link stable and you can often swap in an updated file without reprinting, depending on your host.
Product manuals, setup guides, warranty information, safety instructions and equipment documentation, on product labels, packaging, machine stickers and quick-start cards. The code just opens the document; keep the link alive as long as the product is in use.
A restaurant can link a public PDF menu, but big PDFs load slowly and can be awkward to read on small screens, where a mobile-friendly menu page often works better. See the Menu QR code generator for menu-specific advice.
A résumé, CV, portfolio or credentials document on a business card, networking card, event badge, printed portfolio or cover letter. Anyone who scans it can open the file, so only include personal details you're happy to make public.
Agendas, programmes, venue maps, speaker notes and exhibitor guides on signage, badges and tables. Frame doesn't manage downloads or attendance.
Worksheets, readings, course handouts, lesson resources and reference sheets. The code opens the document; Frame doesn't track students or who opened what.
A set of product manuals, a classroom pack, several brochures, a property document pack, or a different document per branch: if each already has its own link, the Batch QR generator turns a list of links into a set of codes in one go. It encodes the links you supply; it doesn't upload files or know which link is which document, so label each line.
The size of the PDF has no effect on the QR code. The code's density depends only on the length of the link, so a 100 MB file and a 1 MB file behind equally long links make identical-looking codes. File size matters after scanning: a huge PDF is slow to open on mobile data. Compress images, split very large documents, and don't make people download a heavy file when a lighter one would do.
Depending on the hosting service, people may see a preview page, a direct download or a sign-in screen. Frame can't choose which.
Frame makes the code in your browser. It doesn't open, download or inspect your PDF, doesn't upload any file, and doesn't track scans. The service hosting the document may use its own analytics, cookies, access logs and sign-in, under its own privacy policy. That's separate from Frame.
The link points to a different file. Copy the exact link from your host again and regenerate.
The file's sharing settings require one. Change them at your host if the document should be public.
You're probably signed in to the host. Test in a private window or on another account, and fix the permissions.
It was a signed or temporary link. Get a stable public link, generate a new code and replace the prints.
Frame checks that the address is a valid link, not what's behind it. Check that the link opens the document you intended.
That's the file or the host, not the code. Compress the PDF or host it somewhere faster.
Not every viewer honours page fragments. Use a shorter document or point people to the page in the call to action.
Browser or CDN caching, or the host treating the upload as a new link, can cause this. Check what the link opens in a private window.
Static codes keep the old address. Generate a new code and reprint.
Check the file in the QR Code Checker, then review size, contrast and the quiet zone. Long links need larger codes.
Need a code for a web page, menu or contact card instead? Use the main QR code generator.
Put the PDF online so it has a public link, copy that link, and paste it into the generator at the top of this page. Customize the code, test it from another device, then download it.
No. Frame has no file upload. It turns a link into a QR code, so the PDF must already be hosted somewhere with a public http or https address.
No. Frame doesn't receive, store, host, open or inspect the file. It only encodes the link you paste.
No. Download links, cloud and CDN links, and links with query parameters all work. Frame checks that the address is a valid web link, not what type of file is behind it.
Yes, and every character is kept exactly. Cloud links must be shared publicly, and signed or temporary links stop working when they expire, so use a stable link for long-lasting prints.
Scanners will see the host's sign-in or access screen. Frame can't change sharing settings, so make the file public at your host and test it in a private browser window.
Often, yes. If your host lets you replace the file at the same address, printed codes open the new version. If the address changes, you need a new code.
No. It's a static code that contains the link directly. The file behind the link can change, but the link in the code can't.
Yes. Link to the public PDF. For menus, a mobile-friendly web page is often easier to read on phones, and for résumés, only share details you're happy to make public.
No. The code's density depends only on the link length. A large file affects how long the document takes to open after scanning.
No. It's static, with no expiry date or subscription. It works for as long as the link keeps opening the document.
No. Frame creates static QR codes with no redirect, so there are no scan counts or document analytics. Your hosting service may keep its own logs.
Yes. Open it in a private window or on someone else's phone to check permissions, confirm it's the right document, check the image with the QR Code Checker, and scan a printed proof.