Turn a PDF's link into a scannable, print-ready QR code
| Level | Damaged Data Recovered | Best For |
|---|---|---|
| L | up to 7% | Clean indoor prints, shortest URLs, smallest codes |
| M | up to 15% | General use — the default for good reason |
| Q | up to 25% | Equipment tags, menus, anything handled or outdoors |
| H | up to 30% | Codes with a logo punched through the middle |
Higher correction means more redundancy modules, so the same URL produces a busier code. Compensate by printing larger.
| Content | Size in Bytes | Times the Max QR Capacity |
|---|---|---|
| Max QR (v40, byte mode, level L) | 2,953 | 1× |
| Typical one-page PDF | ~100,000 | ~34.7× |
| 1 MB PDF | 1,048,576 | 355× |
| 2 MB PDF | 2,097,152 | 710× |
| 5 MB PDF | 5,242,880 | 1,775× |
Byte capacities are the ISO/IEC 18004 maxima for QR version 40. The takeaway: any real PDF lives behind a link, never inside the code.
A QR code is a container with hard limits; a PDF is almost always bigger than the container. The tool therefore does what every reliable PDF QR workflow does: it checks the file, normalizes its share link, and encodes that link with the error correction you pick. Everything runs in your browser — the PDF is never uploaded anywhere.
Share links from cloud drives open preview pages, not files. The generator rewrites them before encoding: a Google Drive link of the form drive.google.com/file/d/FILE_ID/view becomes drive.google.com/uc?export=download&id=FILE_ID, which opens or downloads the PDF directly. A Dropbox link's ?dl=0 becomes ?dl=1. Ordinary URLs pass through untouched.
Drop the PDF in first — you'll see its exact size, which tells you how careful your hosting needs to be and whether mobile scanning will feel fast. Then paste the link where the PDF lives, pick error correction Q for labels that will get handled, and download the PNG at 600 px or larger. Before printing a batch, scan one with your own phone.
Say you're tagging a machine with its manual — a 1 MB PDF. That file is 1,048,576 bytes, or 355 times the 2,953-byte maximum a QR can hold, so embedding it is off the table. You upload the manual to Drive, share it as anyone-with-link, and paste the share URL. The tool swaps it to the uc?export=download form — 76 characters instead of a 100+ character preview URL, which keeps the QR sparse and easy to scan. At level Q you get 25% damage recovery; printed 2 inches wide, the 10:1 rule says it scans from about 20 inches (50 cm), comfortable for a tag next to an isolation switch. Later the manual gets revised: re-upload the new PDF at the same Drive file ID and the printed code keeps working.
A QR code can only hold about 2,953 bytes, so the code stores a link, not the file. Host the PDF anywhere with a public URL — Google Drive, Dropbox, your website — paste that link into the generator, and download the QR. When someone scans it, the PDF opens in their browser. The generator also converts Drive and Dropbox share links into direct-download links for you.
No, unless the PDF is tiny. The largest QR code (version 40, low error correction) holds 2,953 bytes of data, and a 1 MB PDF is 355 times that. Even a 100 KB PDF is about 35 times over the limit. That's why every PDF QR tool works by linking: the code stores a short URL that leads to the hosted file.
Share the PDF so anyone with the link can view, copy the share URL, and convert it to the direct-download form: replace everything with https://drive.google.com/uc?export=download&id=FILE_ID, where FILE_ID is the long string in the share link. The generator on this page does this conversion automatically when you paste a Drive link.
A static QR code never expires — it just contains your URL and works forever. What can break is the destination: if you delete the PDF, move it, or change sharing to private, the code scans to an error. That's the real case for dynamic QR services: they let you swap the destination while keeping the same printed code.
Use the 10:1 rule: people can reliably scan a QR code from about 10 times its width, so a 1-inch code works within roughly 10 inches (25 cm), while a 2-inch label on equipment scans from about 20 inches (50 cm). Keep the printed module (one square) at 0.4 mm or larger, and leave a quiet zone of four modules of white space around the code.
Level L restores up to 7% of damaged codewords and gives the densest code; M covers 15% and is the default; Q covers 25% and suits labels that get scuffed or dirty, like equipment tags; H covers 30% and is what you want when a logo sits in the middle of the code. Higher correction means more modules, so print larger.