QR Codes

How to Turn a Link Into a QR Code That Actually Gets Scanned

7 min read
By
How to Turn a Link Into a QR Code That Actually Gets Scanned

Photo from Pexels

Nobody types a URL off a printed page.

That's not opinion. It's measurable. I worked on a packaging redesign for a small food brand last year. The old box had https://www.harvesttablefoods.com/recipes/winter-squash-soup printed along the side. Beautiful. Useless. We added a QR code linking to the same page. Scans went from zero (we assume) to about 1,400 a month within the first quarter.

The link didn't change. The friction did.

Why a URL QR Code Beats a Printed Link

A printed URL asks the reader to do five things: notice the link, open their phone, switch to the camera or browser, type the URL character by character, and hit go. Each step is a place to give up. Long URLs with slashes and hyphens and query strings are nearly impossible to type correctly on a phone keyboard.

A QR code collapses all five steps into one: point the camera, tap the popup. Done.

This is why every product box, event poster, real-estate sign, and restaurant menu now has one. The barrier isn't the technology. It's doing it right.

The One Mistake That Ruins Most URL QR Codes

People encode the full, raw URL. Something like:

https://www.example.com/campaigns/fall-2026/landing?utm_source=box&utm_medium=print&utm_campaign=squash

That's 90 characters. It works. But it produces a dense QR code that needs to be printed large to scan reliably, and it bakes a tracking campaign into a physical object you can't edit after the print run.

The fix is a short link. Run the URL through a shortener (or your own redirect) first. You get something like https://ex.co/soup. Eight characters. The QR code is small, scannable from across a room, and you can change where the short link points without reprinting the box.

This is the single highest-leverage decision in a URL QR project. Shorten first, encode second.

Static vs. Dynamic QR Codes

You'll see these terms in marketing copy from QR vendors. They're not magic. They're just two ways of handling the link.

A static QR code encodes the destination URL directly. You can't change where it goes without reprinting. It's a one-time decision.

A dynamic QR code encodes a short redirect URL that lives on a vendor's server. You log in and change the destination. The printed code never changes.

Dynamic is convenient. It also means your scans route through someone else's server, and if that vendor shuts down, every code you printed breaks. For packaging that may sit on a shelf for two years, that's a real risk. For a one-week event poster, less so.

Our QR code generator produces static codes by default. Your link, your image, no dependency on us staying online. If you need redirect flexibility, pair it with your own short link on a domain you control.

Where to Put the Code on Packaging

Placement affects scan rate more than people expect. A few rules from watching packaging tests.

Don't put it on the bottom of the box. Don't put it on a curved surface where the code distorts when the box is full. Don't put it under a glossy varnish that reflects overhead lights. Don't put it where a tear strip will cut through it when the box is opened.

Do put it on a flat, matte surface, at least 0.8 inches (20mm) wide for a short-link code, with a quiet zone (white space) of at least four modules around it. Add a one-line call to action above or below: "Scan for recipes." Codes without a CTA get scanned about a third as often.

Real-World Dimensions That Work

For a cereal box back panel, a 1-inch (25mm) code scans comfortably from arm's length. For a poster viewed from 6 feet away, you want roughly 2 inches (50mm) minimum, scaling up with viewing distance. The rough rule is code width equals about 1/10 the viewing distance, so a 10-foot-away sign wants a 1-foot code. That's a guideline, not physics, but it holds up well.

Error correction matters here too. Packaging gets scuffed. A code with low error correction dies at the first scratch. Use error correction level M (15%) for clean environments, level H (30%) for anything that will be handled, shipped, or left in the sun. Our error correction and sizing guide covers the tradeoffs in detail.

Tracking Scans Without Vendor Lock-In

If you want to know how many people scan, you have two clean options.

First, use your own short link on your own domain, and read the redirect logs from your web server. You own the data, you own the URL, no vendor in the middle.

Second, append UTM parameters to the destination URL (not the encoded short link). When the user lands, your analytics platform sees the campaign tags. This works with any QR code, static or dynamic, and doesn't route your scans through a third party.

What you don't want is a vendor that only gives you scan counts if you pay them, and breaks your printed codes if you stop. That's the dynamic-QR trap.

File Format for Print

For anything going to a commercial printer, use SVG, not PNG. A PNG is a fixed grid of pixels; blow it up and it gets soft. An SVG is a vector description; it scales to any size with no loss. Printers can place it precisely on the die line, and the modules stay crisp at any resolution.

If your printer insists on PNG, export at the highest resolution they'll accept, with the code at its final printed size at 300 DPI or higher. For more on formats, see our PNG, SVG, and JPG guide.

The Short Version

Shorten the link. Encode the short link. Print it big enough, on a flat matte surface, with a call to action. Use SVG for the printer. Track with your own logs or UTM tags, not a vendor redirect.

Do that and your printed URLs will finally get scanned.

Frequently Asked Questions

Should I encode the full URL or a short link in the QR code?

Short link, almost always. A long URL produces a dense QR code that must be printed large to scan reliably, and it bakes tracking parameters into a physical object you can’t edit. Shorten first, encode the short link, and you can change the destination without reprinting.

What is the difference between static and dynamic QR codes?

A static QR code encodes the destination URL directly and can’t be changed without reprinting. A dynamic QR code encodes a short redirect URL on a vendor’s server, so you can change the destination later. Dynamic is convenient but creates a dependency on the vendor staying online.

What file format should I send to a printer for a QR code?

SVG for any commercial print. It is a vector format that scales to any size with no quality loss, and the printer can position it precisely on the die line. If the printer requires PNG, export at the final printed size at 300 DPI or higher.

Explore the QR Code Generator: Try it now

Try NovelCrypt Tools

Experience military-grade encryption for your sensitive data. Create self-destructing messages, encrypt files, or explore our experimental lab tools.

Explore NovelCrypt