QR Codes

Custom QR Codes for Packaging, Posters, and Menus

Design QR codes that survive real print — packaging, posters, and menus. Sizing, contrast, quiet zones, and the SVG habit that keeps every code sharp and scannable.

Shaikh Jabir Mohammed 13 min read
Share
On this page

A QR code that scans perfectly on your screen can fail completely once it is printed — too small, too faint, cropped at the edge, or stuck on a curved surface where no camera can read it. Print is unforgiving in ways a screen never is, and most scanning failures are print failures, not code failures. Our QR code studio gives you the design control and the SVG output to get print right, and this guide covers the specific choices — size, contrast, quiet zone, placement, and format — that separate a code people scan from a code they give up on.

The stakes are higher in print than online, too. A broken link on a website you can fix in seconds; a code that does not scan on ten thousand printed boxes is a mistake you live with until the next run. That is exactly why the few minutes spent designing a print code properly, and the one test scan before the run, pay off so heavily. This guide is about making those minutes count.

Key takeaways

  • Use SVG for print — it scales to any size without blurring; PNG is for screens.
  • Size for viewing distance — menus can be small, posters must be large.
  • Keep strong contrast and a clear quiet zone — the two most common causes of print failure.
  • Avoid curved and reflective surfaces, or account for them; flat and matte scan best.
  • Always test-scan the real printed piece before committing to a full run.

Quick answer

For printed QR codes, download as SVG so the code stays sharp at any size, keep the code high-contrast (dark on light) with a clear quiet zone around it, and size it for the distance people will scan from — small for a menu held in the hand, large for a poster seen across a room. Place it on a flat, matte surface where a phone can get a clean angle, and always test-scan the actual print before a full run. Our studio exports print-ready SVG and protects scannability as you style.

Start with SVG, always

The single most important print decision is the file format, and it is the one most often gotten wrong. A PNG is made of pixels at a fixed resolution; blow it up beyond that resolution and it turns soft and blocky, and a soft QR code is a code cameras struggle to read. An SVG is a vector — it describes the code as shapes, not pixels — so it renders razor-sharp at any size, from a stamp to a billboard. For print, SVG is not a preference; it is the correct choice, and our studio exports it directly.

The practical rule is simple: if it is going on screen, PNG is fine; if it is going on paper, use the SVG. Sellers get into trouble when they grab the PNG that was convenient for a quick digital post and then hand the same file to a printer, who scales it up and prints a fuzzy code. Hand the printer the SVG instead and the code is crisp at whatever size the design calls for. This one habit prevents a large share of print scanning problems before they start.

Size it for how far away people scan

A QR code has to be physically large enough for a camera to resolve its individual modules from the distance the scanner stands. That distance changes completely depending on the material, which is why one size does not fit all.

A menu or a packaging insert is held in the hand and scanned from a few centimetres away, so the code can be modest — roughly a couple of centimetres square is often enough, provided the design is clean. A poster on a wall is scanned from a metre or more, so its code must be substantially larger to stay readable at that range. A banner seen from across a room needs a code larger still. The guiding principle: the farther the expected scan distance, the bigger the code must be. When unsure, go larger — an oversized code still scans, while an undersized one simply does not.

A useful sanity check is to print the code at its intended size on plain paper, step back to the real scanning distance, and try it with an ordinary phone. If it reads easily there, it will read in the final print; if you have to lean in, it is too small.

Contrast is what makes it scan on paper

QR scanners read the difference between dark modules and a light background. On a screen that difference is usually stark, but print can wash it out — a coloured code on a coloured background, a light ink, or a busy photo behind the code can all erode the contrast a camera needs. The rule that never fails is a genuinely dark code on a genuinely light background, with strong separation between the two.

You can absolutely use brand colours, and our studio makes that easy while raising error correction to protect the code. But colour and contrast are different things: a deep, dark brand shade on white keeps its contrast and scans; a pastel or a mid-tone on a coloured ground loses contrast and fails. If you want a bold coloured code, keep the colour truly dark and the background truly light. Reversing it — a light code on a dark background — works in some scanners and fails in others, so avoid it for anything that matters. When a printed code will not scan, low contrast is the first thing to suspect.

Respect the quiet zone

The quiet zone is the clear margin around a QR code, and it is not decorative — scanners need it to find where the code begins and ends. Designers, working to make a layout tidy, routinely crop this margin or run other elements right up to the code, and the result is a code the camera cannot isolate from its surroundings. A code with no breathing room is one of the most common print failures, and it is entirely avoidable.

Leave a clear, uncluttered border around every printed code — our studio lets you control the quiet zone directly, so you can set it and keep it. Do not place text, images, or borders inside that margin, and be especially careful when a code sits near the edge of a package or a fold in the print, where trimming can eat into the margin. A little empty space around the code is the cheapest insurance you can buy against a scan failure.

Surface and placement matter more than people think

Even a perfectly designed code fails if it is printed somewhere a camera cannot read it. Two surface problems cause most of this. Curves distort the grid: a code wrapped around a bottle, a jar, or a crumpled pouch bends the modules out of shape, and past a certain curvature no scanner can correct for it. Where you can, place codes on a flat panel of the packaging — a box face, a flat label, a card insert — rather than around a curve. Reflections are the other culprit: a glossy laminate or a shiny foil can bounce light straight back at the camera and blow out the code. A matte finish scans far more reliably than a gloss one, so if you have a choice of finish for the area around the code, choose matte.

Placement also means reachability. A code hidden on the underside of a package, or on a part people cannot comfortably point a phone at, will not get scanned no matter how well it is made. Put codes where a hand and a camera can naturally reach them, and where there is enough flat, matte, well-lit surface for a clean read.

Designing for three specific placements

Packaging. This is the highest-stakes placement because reprinting is expensive, so get everything right and test hard. Use SVG, a flat matte panel, strong contrast, and a generous quiet zone, and size the code for a hand-held scan. Because packaging is costly to redo and its purpose may change, a Trackable code is often the smart choice here — you can repoint it later without reprinting, as covered in our guide to Fixed vs Trackable QR codes. Add a short caption like “SCAN FOR…” so people know why they would bother.

Posters. The defining constraint is distance. Size the code far larger than feels necessary, because it will be scanned from across a room, and keep the area around it clear so nothing competes with it visually. High contrast matters even more at distance, where a phone camera has less detail to work with. A caption that gives people a reason to scan — an offer, a “see it in action” — earns far more scans than a bare code.

Menus. These are scanned up close, so size is rarely the problem; contrast and placement are. Avoid printing the code over a background photo or a dark panel, keep it on a clean light area, and put it where a diner can reach it without moving the whole menu. If the menu itself is what the code links to, a Trackable code lets you update the menu behind the same printed code whenever your dishes or prices change — a real advantage for anywhere that revises a menu often.

A worked example: a packaging code that lasts

Suppose you are printing a code on the outer box of a product you ship. Walk the checklist. Format: export the SVG from the studio and give that to the printer. Type: choose Trackable, so you can repoint it later without reprinting the box, and so you can see scan counts. Design: a dark brand colour on white, a modest logo in the centre, a clear quiet zone, and a “SCAN FOR SETUP HELP” caption. Size: about 2.5 cm square, sized for a hand-held scan. Surface: a flat matte panel on the box face, not the curved edge. Test: print one box, scan it with a couple of different phones at arm’s length, in normal room light. Only when that passes do you commit to the full run. Every step here removes a specific way the code could have failed, and the whole process adds maybe ten minutes to a print job you were doing anyway.

How error correction helps in print

QR codes carry built-in redundancy called error correction — extra information woven through the pattern that lets a scanner still read the code even when part of it is missing, dirty, or covered. This matters more in print than on screen, because printed codes live in the physical world where they get scuffed, smudged by handling, creased on a pouch, or partly hidden by a centre logo. A code with higher error correction shrugs off a surprising amount of damage; a code with the minimum can fail from a single scratch across the wrong spot.

Our studio raises error correction automatically when you add a logo or heavy styling, so the covered centre does not cost you a scan. For print specifically, that automatic bump is a quiet safety margin — it means the code that scanned perfectly off the press will keep scanning after a week of being handled, rubbed against other parcels, or left in a sunny window. You can also set the level manually under advanced options if a code will live somewhere especially rough. The trade-off is that higher error correction makes the grid a little denser, which is a small reason to keep your encoded content short — a tidy short link scans more forgivingly than a long messy URL, which is another point in favour of a Trackable code for print.

Give people a reason to scan

A technically perfect code still fails if nobody bothers to scan it, and on packaging, posters, and menus a bare square gives people no reason to. The fix is a short, specific caption that answers “what do I get?” — “SCAN TO PAY”, “SCAN FOR SETUP HELP”, “SCAN FOR 10% OFF YOUR NEXT ORDER”, “SCAN TO SEE IT IN ACTION”. Vague labels like “scan me” underperform because they promise nothing; a concrete benefit earns far more scans. Our studio lets you add a caption beneath the code so the prompt and the code travel together and cannot be separated in layout.

This is where design and marketing meet. The code is the mechanism, but the caption is the offer, and the offer is what moves a scan count. A packaging insert that says “scan for your welcome gift” will out-scan the same code with no caption many times over, for no extra printing cost. When you are already paying to print a code, spending a few words to make people want to scan it is the highest-return effort available — and if the code is Trackable, the scan analytics will show you plainly which captions and offers pull best, so you can improve the wording on your next run.

A note on colour across screen and print

Colours rarely look identical on a screen and on paper — printed inks sit a little darker or shift in hue compared to the glowing version on your monitor. For most design this is a minor annoyance, but for QR codes it can quietly erode contrast: a brand colour that looked convincingly dark on screen may print as a mid-tone that a camera struggles against a light background. The safe habit is to judge contrast from the printed proof, not the screen preview, and to lean darker than feels necessary if the code will be printed. When you test-scan the real print — which you should always do — you are also, in effect, checking that the printed colours kept enough contrast to scan. If they did not, dropping the code to a deeper shade almost always fixes it.

Common mistakes it prevents

  • Printing from PNG — scaled-up pixels go blurry. Use the SVG for anything printed.
  • Too small for the distance — a poster code sized like a menu code will not read. Size for viewing distance.
  • Low contrast — pale ink or a busy background kills the scan. Keep it dark on light.
  • Cropped quiet zone — no margin means the camera cannot find the code. Leave clear space.
  • Curved or glossy placement — distortion and glare defeat scanners. Prefer flat, matte panels.
  • Skipping the test scan — the one check that catches everything above. Always scan the real print first.

Designing in the studio with these in mind — plus its automatic error correction and quiet-zone control — heads off nearly every print scanning problem.

The bottom line

A QR code only earns its place on your packaging, poster, or menu if people can actually scan it, and in print that comes down to a handful of concrete choices: SVG for sharpness, size for distance, dark-on-light for contrast, a clear quiet zone, a flat matte surface, and one honest test scan before the run. Our QR code studio gives you the design control and the print-ready SVG to get all of it right, while protecting scannability as you add your brand. Design it once, test it once, and it works on every unit you print.

Design a print-ready QR code →

Frequently asked questions

What file format should I use for printed QR codes?
Use SVG. It is a vector, so it scales from a business card to a banner without ever going blurry. PNG is fine for screens, but for anything printed, SVG keeps every module crisp at the final size.
How big should a QR code be on packaging?
Big enough for a camera to resolve its modules at the distance people will scan it. A rough rule is a minimum printed size of about 2 x 2 cm for close scanning, larger for posters seen from a distance. Always test the real print.
Why do some printed QR codes fail to scan?
Usually low contrast, a missing quiet zone, printing too small, or placing the code on a curved or reflective surface. Design with strong contrast and a clear margin, size it generously, and test-scan the actual printed piece.
Can I match a QR code to my brand colours for print?
Yes, as long as the code stays high-contrast — a genuinely dark code on a genuinely light background. Our studio raises error correction when you style a code, but contrast is still what makes it scan on paper.
Do I need a different code for a menu versus a poster?
The code content can be the same, but the size and placement differ. A menu code is scanned up close and can be smaller; a poster code is scanned from a distance and must be much larger. Design each for its viewing distance.
SJ

Shaikh Jabir Mohammed

Founder of Source Code Stack. Writes about the pricing, shipping, and everyday operations of selling online — and builds the tools that make that work faster and more accurate.

Related reading