Seasonal menu on the restaurant's own site
A short, stable path. Replacing the file each season updates every printed table card without reprinting anything.
Encoded as
https://example.com/files/spring-menu.pdfPoint a scan at a document you already host, with no upload and no middleman.
Generated on your device. Nothing you type is sent anywhere.
A PDF QR code is a link code pointing at a document. There is a common misunderstanding worth clearing up immediately: a QR code cannot contain a PDF. The format holds a few thousand characters at most, while a modest document runs to hundreds of thousands. Every PDF QR code in existence therefore points at a file hosted somewhere. This tool does not host anything, which is deliberate — a hosted file on someone else's service is a dependency that can expire, rate-limit or vanish, taking every printed code with it. Host the file yourself and the code keeps working.
A twenty-page manual costs nothing to distribute as a code on the box. For anything that would otherwise be printed and included in every unit, the saving is immediate and recurring.
Replace the file at the same address and every printed code now points at the new version. This is the closest a static code comes to being editable, and it costs nothing to set up.
Every phone renders a PDF from the browser without anything installed. Compared with formats that need a specific reader or a particular app, the audience is effectively everyone with a camera and a connection.
A tidy file URL is short, so the code prints small and scans reliably. That is useful on packaging, spine labels and equipment plates where the space available for a code is measured in millimetres.
A short, stable path. Replacing the file each season updates every printed table card without reprinting anything.
Encoded as
https://example.com/files/spring-menu.pdfA product manual whose path includes the model number, so several products can share a predictable structure.
Encoded as
https://example.com/support/model-4471/manual.pdfA bare path pasted from a file browser. The https prefix is added so the scan opens the document rather than a search page.
Encoded as
https://example.com/docs/price-list.pdfPut the file on your own website, or on storage you administer. The durability of the code is entirely the durability of that hosting, so a location you control beats a free file-sharing service by a wide margin.
Paste the address into Link to your PDF. It should end in .pdf and open the document directly — not a preview page, a download gate, or a sign-in prompt.
Most scans happen on a phone, where a large or complex PDF can take a long time to render or fail entirely. Check it opens and is readable at that size, not just on a desktop browser.
The code encodes the exact address. Renaming the file or reorganising the folder breaks every printed copy, so choose a path you can commit to keeping — or better, one you can redirect from later.
A QR code holds a few thousand characters at absolute most, and a one-page PDF is typically hundreds of thousands of bytes. No generator can embed a document in a code, and any service claiming to does so by hosting the file and encoding a link — which is what this does, minus the dependency on them staying in business.
Free hosts expire links, throttle popular files, insert interstitial pages and sometimes disappear. Every printed code dies with them, and that failure surfaces months later when the codes are already in circulation. Host on infrastructure you control.
Cloud storage share links usually open a viewer page that asks the person to sign in or download. On a phone that is several taps and a frequent dead end. The address should end in .pdf and open the document itself.
A print-resolution PDF with large images can be tens of megabytes and take a long time on mobile data, or fail outright. A double-page-spread layout is also close to unreadable on a small screen. Produce a phone-friendly version and link to that.
The exact path is inside the pattern. Reorganising folders or adding a date to the filename breaks every code already printed. If the document will be revised, keep the address fixed and swap the file behind it.
The payload is an ordinary https link, so every scanner opens it. iOS renders PDFs natively in Safari with no app required; Android opens them in Chrome or hands them to a viewer, occasionally downloading rather than displaying depending on how the server sets its content type. A server sending the file as an attachment rather than inline will force a download on both platforms, which is usually not what you want for a menu. Desktop behaviour is consistent. The one genuine failure mode is not the scanner but the file itself — large documents on poor mobile connections often time out.
Because the whole payload is a single URL, no percent-encoding is applied — encoding it would turn the address into an unusable string. Spaces in a filename are still a bad idea, since they must be escaped as %20 to be valid, and a raw space breaks the link in some scanners.
No. A QR code holds at most a few thousand characters, while even a one-page PDF runs to hundreds of thousands of bytes. Every PDF QR code points at a hosted file. Services that appear to embed the document are simply hosting it for you and encoding a link to their copy, which makes your printed codes dependent on their continued existence.
On your own website or on storage you administer. The code lasts exactly as long as the address keeps working, so free file-sharing services are a poor foundation — they expire links, throttle popular files and sometimes shut down, and every printed code fails at the same moment when they do.
Yes, and this is the main advantage of the format. Replace the file at the same address and every existing code now serves the new version. Keep the path stable and generic — files/menu.pdf rather than files/menu-spring-2026 — so the address never needs to change.
The server is sending a content-disposition header marking the file as an attachment rather than inline content. That is a hosting configuration rather than anything in the code, and most web hosts serve PDFs inline by default. Cloud storage share links are the usual culprit.
There is no limit imposed by the code, but there is a practical one imposed by phones. A file over a few megabytes is slow on mobile data and sometimes fails outright, and print-resolution documents are frequently far larger than that. Export a compressed, phone-readable version for anything meant to be scanned in public.
Neither. No file is ever uploaded because none is needed — the code contains only the address you type, and that address is encoded in your browser without being transmitted. You can confirm it by watching the Network tab in developer tools stay empty.
This generator is part of website & links QR codes — see the whole group, and what to decide before you generate one.