Skip to content

Guides

How to print QR code labels

Every other guide in this cluster reasons about the code while it is still a file: what to encode, how big, whose domain, how long it has to live. This one is about the last thirty centimetres — the print dialog and the sheet in the tray — where a perfectly correct batch turns into 65 labels that miss their die cuts and sit under the size floor. Two settings and one proof sheet decide it, and neither is visible on screen.

The five-minute version

  1. Export the batch as a print sheet sized to the paper you will actually feed — A4 or Letter, one code per label with its caption.
  2. In the print dialog, turn scaling off: “Actual size”, or Scale 100. Never “Fit to page”.
  3. Print page one on plain paper and hold it against an unused label sheet in front of a window. Every code should sit inside its die cut.
  4. Measure a code on the proof. A short ID wants 12–15 mm, a URL 20–25 mm; if the sheet cannot give you that, the label is too small for what you are encoding.
  5. Print the real stock, let it dry a minute on inkjet, then scan three labels — a corner, the middle, the far corner.

The setting that ruins the batch

No desktop printer can print to the edge of a sheet; there is an unprintable margin of roughly 4–5 mm all round. Because a label sheet’s outermost labels often sit inside that margin, every PDF viewer offers to shrink the page slightly so nothing is clipped — and several of them do it by default. Adobe Reader calls it “Shrink oversized pages”, Chrome hides it under Scale: Default, macOS Preview under “Scale to fit”. The reduction is small, around four to six per cent, and it is the single most common reason a label batch comes out wrong.

Scaling breaks two things at once, and you only notice one. The obvious damage is registration: shrink a grid toward the centre of the page and every code creeps inward, so the top-left label is nearly right and the bottom-right one is halfway onto its neighbour. The quiet damage is size — a 15 mm code becomes 14.2 mm, and if you had sized it at the floor from the print-size guide, it is now under it. The sheet looks merely untidy; half of it no longer scans.

  • Adobe Acrobat / Reader: Page Sizing & Handling → Actual size. Not “Fit”, not “Shrink oversized pages”.
  • Chrome / Edge: More settings → Scale → Custom100. The “Default” option is allowed to shrink and will not tell you that it did.
  • macOS Preview: Scale 100%, with “Scale to fit” unchecked and “Auto Rotate” off.
  • Word or Pages, if you have placed codes into a label template: print “1 page per sheet” and make sure the document’s paper size matches the tray. A4 artwork on a Letter setting scales silently, and vice versa — this is the commonest cross-border version of the same defect.
  • Print from the PDF when you have one. A browser rendering an HTML sheet re-flows to the printer’s margins by design, which is the same reduction wearing a different name.

Die-cut sheets solve a problem you may not have

Die-cut label sheets exist because of mail merge. Addresses are variable-height blocks of text, so the paper has to declare in advance where each one goes. A batch of QR codes is the opposite: a grid of identical squares, every cell the same size, and it can be laid out anywhere on the page. You are inheriting a registration problem that belongs to somebody else’s job.

  • Full-sheet label stock — one adhesive sheet, no die cuts — removes the alignment question entirely. Print the grid, cut with a guillotine or a steel rule and a craft knife. You also get to choose the label size instead of accepting one, which matters when the code needs 20 mm and the sheet you bought offers 15.
  • Plain paper is the right answer more often than people expect: table tents, ticket strips, shelf-edge cards and anything going into a stand or holder never needed adhesive. Laminate if it will be handled; matte laminate, not gloss.
  • Die-cut is worth it when the shape is the point — round labels for jar lids, small ovals for equipment — when you have no cutter, or when somebody else has to apply them and a peel-and-stick edge saves an hour of fiddling.

If it is die-cut: fit the code to the short side

A label’s long side is nearly always caption space. What constrains the code is the short side, minus about 3 mm of padding each side so a millimetre of feed drift cannot clip a corner. Thequiet zone is already inside a properly exported code, so it is not an extra subtraction — but it is the reason you cannot let the caption crowd the pattern.

  • 63.5 × 38.1 mm (21 per A4): short side 38 mm → a code of about 30 mm, caption to the right. Comfortable for a URL.
  • 67 × 25 mm (30 per Letter): short side 25 mm → about 19 mm. A short ID is fine; a long URL is marginal.
  • 38.1 × 21.2 mm (65 per A4): short side 21 mm → about 15 mm, which is the floor for a short ID and below the floor for a URL. Encode an ID here or buy a bigger label.
  • 51 × 102 mm (10 per Letter): no constraint worth discussing. This is the usual asset-tag and parcel size.

The floors are from the asset-tag guide — 12–15 mm for a short ID, 20–25 mm for a URL — and they exist because a code’s smallest feature is one module, which should not go below about 0.4 mm on paper. Longer content means more modules in the same square, so a URL is not “a bit tighter” than an ID at 15 mm; it is a different answer. When a label is small, shorten what you encode rather than shrinking the code.

Put the caption beside the code on a narrow label rather than under it. Vertical space is what these sheets run out of first, and a caption is what lets a human match a stuck-on label back to a row in the spreadsheet — the whole point of the label column in a bulk export.

Stock, ink, and the fuser

  • Laser beats inkjet for codes. Toner is a dry powder fused to the surface, so module edges stay hard. Inkjet dye wicks slightly into uncoated label paper: dark modules thicken, the light gaps between them narrow, and a scanner hunting for a clean grid has less to work with. A code at the size floor can scan from a laser and fail from an inkjet on the same file. If inkjet is what you have, print one size up or buy coated, inkjet-rated stock.
  • Never feed inkjet-only or vinyl stock through a laser. The fuser softens adhesive that was not formulated for it; labels lift, wrap around the roller, and the repair costs more than the printer. The pack states which process it is for — it is the one specification on the box that is not marketing.
  • Matte, not gloss. Glossy face stock throws back the light it is scanned under; glare is the first cause in the not-scanning guide and the reason the packaging guide argues matte over a press varnish.
  • Adhesive outlives the print job. “Removable” is why asset tags are on the floor a year later; permanent is the default for anything you expect to scan twice. Outdoors, in a freezer, or against solvent, paper is not the material — polyester or vinyl is, and those are laser-rated stock with the caveat above reversed.
  • Feed straight, and never re-feed a part-used sheet. Use the rear or manual tray when there is one; a tight duplex path peels label edges. A sheet with labels missing has exposed adhesive and lifted corners, which is exactly how a label ends up on the fuser. The half-used sheet is worth less than the service call.

The proof sheet, and what it tells you

One page on plain paper, printed at the same settings as the run, held against an unused label sheet in front of a window. It costs a sheet of paper and it is the only check that sees the printer, the file and the stock at once. What you are reading is not “is it aligned” but how it is misaligned, because the two failures have different causes and different fixes.

  • Progressive drift — the top-left label is nearly right and it gets worse toward the bottom-right: scaling is still on. Go back to the dialog; no amount of nudging the layout will fix a percentage error.
  • Uniform offset — every code is off by the same 2 mm in the same direction: that is the printer’s registration, and it is consistent enough to correct. Shift the whole layout by that amount, or feed from a different tray and re-proof.
  • Skew — the grid is rotated a degree across the page: the sheet is feeding crooked. Fan the stack, seat the paper guides against the edge, print one sheet at a time.
  • Everything lands: measure one code with a ruler before you celebrate. Correct position and an undersized pattern is the failure that survives this test.

What this guide does not decide

Nothing here touches what is in the pattern. Whichever guide sent you — asset tags, tickets, vouchers, packaging — already settled that. But labels do put the weakest case in the cluster for renting a code. The static-vs-dynamic guide concedes that a destination which genuinely has to change is worth something, and elsewhere the cluster answers that concession with an argument: a redirect on your own domain for packaging, validity decided at the till for vouchers, two codes with two lifespans on an estate agent’s sign. Here the answer is arithmetic. A sheet of labels costs pennies and reprints in a minute from a CSV you kept. Paying a monthly subscription so that you never have to reprint a sheet of labels is the worst trade in the cluster.

That holds only while the labels are still on your desk. Once they are stuck to 500 machines in the field, reprinting means visiting 500 machines, and the asset-tag guide’s reasoning takes over — encode an identifier you own, so the thing behind it can move without the label needing to. The cheap reprint is a property of the sheet, never of the deployment.

Before you print the whole pack

  • Do the arithmetic: rows ÷ labels per sheet, rounded up. Being one sheet short is the standard way to discover that a pack has 20 sheets and the job needs 21.
  • Proof one sheet on the real stock after the plain-paper check, and let inkjet output sit a minute before you scan it — wet dye reads differently from dry dye.
  • Scan under the light the labels will live under. A stockroom strip light and a phone torch at 20 cm are not the same test, and gloss stock fails only one of them.
  • Check three captions against their rows in the CSV. A mis-sorted export prints perfectly and scans perfectly; the label is simply on the wrong object, which is the one failure a scan test cannot see.
  • File the CSV next to the exported PDF, named by date. The reprint argument above is only true while the file that made the batch still exists.