QR Codes on packaging: placement, contrast, and testing before the print run
Put the code on a flat, solid, high-contrast patch away from folds, with a blank margin of at least 4 modules and a size of about 2 × 2 cm or more. Link to a stable page and print a proof on the real material before the full run.
Where to put it
- On a flat area, away from folds, seams, glue flaps, and curves.
- Where the customer will see it with the package in hand.
- With blank space around it: at least 4 modules (4 small squares) on every side.
Size
Start at about 2 × 2 cm for a handheld pack and go larger for shelf-distance scanning. Read best QR Code size for print.
Contrast and color
- Dark dots on a light background scan best.
- Do not print on a patterned or photo background. Put the code on a solid patch.
- Be careful with metallic, glossy, and transparent materials.
More in QR Code colors and contrast.
What it should link to
Choose a stable, mobile-friendly page such as a product page, instructions, or support. Because packaging is printed in large runs, remember a static code cannot be edited later. Use an address you will keep.
One code per product
If each product has its own page, generate all codes at once from a list. See bulk generating QR Codes from a CSV.
Test before the print run
- Print a proof on the real material and finish.
- Scan with two phones, in dim and bright light.
- Scan a curved or creased sample if the package can bend.
- Check the link opens correctly.
Export a vector or large file for the printer: see PNG vs SVG vs PDF. You can make the code free with the StyloQR Chrome extension.
Frequently asked questions
Can I print a QR Code on a curved bottle?
You can, but curvature distorts the code. Print it large, on the flattest part, and test a real sample.
What file should I send for packaging?
Ask your printer, but a vector SVG or a very large PNG at the final size is the safest choice.
Try StyloQR free
Install the Chrome extension. Single QR Codes are free; Pro is a one-time $9.90 and adds batches, animation, history, and gradients.
Add to Chrome — it's free