Static or Dynamic QR Codes: Which One to Print on Packaging and Flyers

10 min read

A static QR code holds your link inside the printed pattern, so it works forever and can never change; a dynamic QR code holds a short link to a service that sends the shopper on, so you can change where it goes, count every scan and even turn it into a contact card after it is printed. Static suits anything permanent. Pick dynamic when you want to measure scans, fix mistakes or reuse the print. For packaging that lives for years, there is a third option most guides leave out, and it combines the best of both.

What is the difference between a static and a dynamic QR code?

The difference is where the information lives. A static code stores the full address, contact details or Wi-Fi password in its black and white squares, so the phone reads everything straight from the paper. A dynamic code stores only a short link. When someone scans it, the phone opens that short link, and the service behind it decides, at that moment, what to show.

Static QR codeDynamic QR code
Change the destination after printingNoYes, any time
Switch the type, for example from a website to a contact cardNoYes, with CartHacker's codes
Count scansNo, unless the link carries tracking tagsYes: when, where and on which device
Size on paperGrows with the length of the linkStays small, because the short link is short
Keeps working ifAlways, as long as the destination page existsThe service behind it keeps running
CostFree everywhereUsually a free allowance, then a plan
CartHacker QR Code Generator, Website tab, with Enable Scan Tracking (Dynamic QR) switched off: the address https://your-website.com is encoded directly, and the preview shows a red Scan me frame around a version 2 code of 25 by 25 modules at error correction level M, next to options for frames, logo, colors and shape and downloads as PNG, SVG and JPG
Scan tracking off in CartHacker's QR Code Generator: a static code that holds the address itself and can never change

The last two rows hold the catch. A dynamic code is only as durable as the company running it, so if that company shuts down, or ends a free trial and switches your codes off, every printed copy stops working. That applies to CartHacker's codes too: they keep working while CartHacker runs. Read a generator's terms before you print ten thousand boxes.

Where a store can use QR codes

Most stores print one code on the packaging and stop there. There are many more places where a scan saves a shopper typing, and some of them are where repeat sales come from.

WhereWhat the code opensStatic or dynamic
Product packagingHow to use it, recipes, a reorder pageDynamic, or your own short path
Shipping cartonsA thank-you page with a discount for the next order, return instructionsDynamic, so the offer can change each season
Business cardsA contact card that saves your details to the phoneDynamic, so a new phone number does not mean a reprint
Printed mail and catalogsThe products on that page, a campaign landing pageDynamic, one code per mailing to count each one
Email newslettersThe same offer on the phone, or a coupon to show in a shopDynamic
Shop windowsYour online store, open when the shop is closedDynamic, to point it at this week's window
Restaurant and cafe tablesThe menu, table ordering, a review pageDynamic, so the menu can change without new stickers
Wi-Fi signsThe network name and password, joined in one tapStatic, or dynamic if the password changes
Invoices and receiptsA review request, a reorder pageEither
Trade fairs and eventsA contact card or a sign-up pageDynamic, to count visitors per event

Email surprises most store owners. Some readers open a newsletter on a laptop and prefer to buy on their phone, and a QR code next to the offer moves them from one to the other in a single scan. It works the other way round too: a code in an email can be shown at a shop's till as a coupon.

Every character of a link adds black and white squares, called modules, to the code. The more modules, the smaller each one becomes at the same printed size, and the harder the code is to scan from a crumpled pouch or a phone held at an angle. I tested five typical store links. The encoder is the one our QR Code Generator uses, which follows the international QR standard, ISO/IEC 18004.

LinkCharactersCode sizeSmallest printRecommended print
Dynamic short link, carthacker.com/qr/...3329 x 29 modules1.5 cm1.8 cm
Short path on your own domain, shop.example.com/scan2929 x 29 modules1.5 cm1.8 cm
Product page address6337 x 37 modules1.8 cm2.2 cm
Product page with UTM tracking tags12349 x 49 modules2.3 cm2.8 cm
Product variant with UTM tracking tags14649 x 49 modules2.3 cm2.8 cm

Error correction level M, the usual default. Sizes include the blank margin of 4 modules on every side and use GS1's module sizes for retail packaging: at least 0.396 mm, ideally 0.495 mm. GS1 is the organization behind the barcodes on retail products.

A logo changes the math. To survive the squares a logo covers, the code switches to the highest error correction level, H, and the tracked product variant link then needs 65 x 65 modules and about 3.6 cm at the recommended size. The short link stays at 33 x 33 and about 2 cm. Short links win on packaging, where every square centimeter is already spoken for.

The third option: a short path on your own domain

Print a static code that points at a short address on your own store, such as yourstore.com/scan, and send that address anywhere you like with a redirect. The code stays small. It depends on nobody else, you can change the destination whenever you want, and with tracking tags on the destination your analytics count the scans as visits. This is the option our own QR Code Generator recommends for plain web addresses on packaging.

  1. On Shopify: in your Shopify admin, go to Content, then Menus, click View URL redirects, then Create URL redirect. Enter /scan as the old address and your product page as the new one. Shopify only redirects addresses that do not exist yet, so pick a path no page uses.
  2. On WooCommerce: install the free Redirection plugin, open Tools, then Redirection, and add /scan as the source and your product page as the target.
  3. Count the scans: add tracking tags to the target, for example ?utm_source=packaging&utm_medium=qr, and the visits appear under that source in Google Analytics and in Shopify's reports.

The limit is the type. A redirect on your website can only open a web page. A contact card, a Wi-Fi login or a text message needs either a static code, which can never change after printing, or a dynamic code that can.

Back of a camelway.eu camel milk powder pouch: recycling and disposal symbols, dosage icons, and a small static QR code labeled Weitere Informationen with a Scan me caption
A static code on the camelway.eu pouch: it opens the store, and nobody knows how often

What a dynamic code can change after printing

With CartHacker's QR Code Generator, the printed pattern only ever holds a short link, so everything behind it stays editable. That goes further than changing the web address.

  • The destination: point the code at a new product, a seasonal offer or a fixed typo. The change applies to the very next scan, because the code sends phones on with a temporary redirect that no phone stores.
  • The type: switch a printed code between a website, a contact card, a Wi-Fi login and a text message. A business card can become a booking page; a window sticker can become a Wi-Fi sign.
  • On and off: pause a code and scans show a short notice instead, then switch it back on.
  • The scan count: scans by day, country, device and operating system, with every visitor's address stored only as a one-way hash.
CartHacker QR Code Generator with Enable Scan Tracking (Dynamic QR) switched on: the code encodes the short link https://carthacker.com/qr/kiTiz3t, which redirects to https://your-store.com, a notice confirms the code is saved to the QR code library, and the preview shows a blue Buy now frame around a version 3 code of 29 by 29 modules
Scan tracking on: the code holds a CartHacker short link, so the destination can change after printing and every scan is counted in the dashboard

If a CartHacker Premium subscription ends, no printed code stops working. Every code keeps sending scans to its destination, and only scan counting shrinks to the free allowance.

QR Code Generator

Make a QR code you can still change after printing

Add your logo and colors and download a print-ready file. A free account adds scan tracking and a destination you can edit, on up to 5 codes.

Create a QR code

How to print a QR code that scans

  1. Keep the link short: a dynamic link or a short path on your own domain.
  2. Print it big enough: about 2 cm wide for a short link, 3 cm or more for a long one, and larger for anything scanned from a distance, such as a window or a poster.
  3. Leave the margin empty: keep a blank border of 4 modules around the code, with no text or pattern inside it.
  4. Use dark on light: black or dark blue on white or a light color. Some phones fail on light codes on dark backgrounds.
  5. Avoid seams and folds: a code bent over a pouch's seam or a carton's edge often fails.
  6. Add a line of text: say what the scan gives, such as Recipes and reorder or Scan for Wi-Fi. People scan more when they know why.
  7. Test the proof: scan the printed sample with two or three phones, including an older one, before the full run. CartHacker's generator has a Download 2cm Print Test button for this step.

QR code questions store owners ask

Do dynamic QR codes expire?

Not by themselves. They stop working when the service behind them does, whether it closes, removes free codes or ends a trial. Choose a provider whose terms say plainly what happens to printed codes; CartHacker's codes, for one, keep sending scans on even when a Premium subscription ends.

Can I change a static QR code after printing?

No. A static code is the address itself, printed in squares. If the page it points at moves, add a redirect from the old address on your website, which is the trick behind the short path on your own domain.

How small can a QR code be?

For a short link, about 1.5 cm wide including its blank margin, following GS1's smallest module size for retail packaging. Long links need more. Print a test on the real material and scan it with several phones, including an older one, before you settle on a size for the whole run.

Can I track a static QR code?

Only through the page it opens. Add tracking tags to the address and your analytics count the visits from the code. Each tag makes the address longer and the printed code bigger, which is why a short path on your own domain with the tags on the redirect target is the neater way.

Do QR codes work in emails?

Yes, and few stores use them. A reader on a laptop scans the code with their phone and the offer opens there, which suits anyone who prefers to finish a purchase on the phone. A code can also act as a coupon that the reader shows at a shop's till.

QR Code Generator

Make a QR code you can still change after printing

Add your logo and colors and download a print-ready file. A free account adds scan tracking and a destination you can edit, on up to 5 codes.

Create a QR code

Sources

Learning CenterModule 08/12SEO & Marketing

This guide is part of the free CartHacker Learning Center. Create an account to track your reading progress and keep your place across devices, with playbooks matched to your store's platform.

Progress tracking is paused0%
Mark as Read
09Up NextThe Three Emails Every Store Should Send Automatically 9 min readSEO & Marketing

Leave a Comment