CIRCULATEQR

How to Change Where a QR Code Goes After Printing

By the CirculateQR team · Updated · 8 min read

Short answer

You can change where a printed QR code goes only if it is dynamic. A dynamic code holds a short link to a QR service, and the real destination is stored in your account there. Open the code, enter the new address and save: the next scan goes to the new page, and nothing needs reprinting. A static code holds the address itself and cannot be edited. Instead, redirect that address if it is on your own website, cover the code with a sticker, or reprint.

On this page
  1. Is your printed QR code static or dynamic?
  2. How do you change a dynamic QR code’s destination?
  3. Why does the change take effect on the very next scan?
  4. How should you test a code after changing it?
  5. What can you do if the printed code is static?
  6. How do you stop a printed dynamic code from pausing?
  7. What does a destination change look like in practice?
  8. Frequently asked questions

Key facts

  • The printed pattern never changes. Only a dynamic code’s destination, stored on the QR service’s server, can be edited.
  • Scan the code and read the preview: a short link on a QR service’s domain means dynamic; the final web address means static.
  • CirculateQR’s dynamic codes use links like https://www.circulateqr.com/go/ab12Cd and an HTTP 302 (temporary) redirect, so an edit applies from the next scan.
  • Browsers may cache a 301 (permanent) redirect and skip the server on later visits, which is why QR redirects should be temporary.
  • A cover sticker must hide the old code and its quiet zone, the blank margin 4 modules wide around it.
  • On CirculateQR’s free plan, a dynamic code stops redirecting 14 days after it is published unless you upgrade or pay $5 once to keep that code.

Is your printed QR code static or dynamic?

Everything depends on this. Point your phone’s camera at the code and read the preview before you tap it:

  • A short link on a QR service’s domain, such as circulateqr.com/go/ab12Cd: the code is dynamic. Whoever holds that account can change where it goes.
  • An address on your own website, such as yourbakery.com/offers: the code is static, but you can still redirect that address (see below).
  • An address on someone else’s site, such as a booking platform: static, and out of your hands.
  • An offer to join a network, add a contact or send a text: static. These codes carry the content itself.

Your generator’s dashboard will usually say which it is. In CirculateQR, a static code’s page tells you plainly: “This is a static code: its link is part of the printed pattern, so it can’t be changed.” The full comparison is in dynamic vs static QR codes.

How do you change a dynamic QR code’s destination?

The steps are much the same with any provider:

  1. Sign in to the account that owns the code. The domain in the scan preview tells you which service it is.
  2. Open the code. Find it by name, or match the short link’s ID, the characters after the last slash.
  3. Enter the new destination. Paste the full address, including https://, after checking that it loads in a browser.
  4. Save. There is nothing to update on the printed code; the change lives on the server.
  5. Test-scan a printed copy. Use a phone on cellular data and confirm the scan appears in your analytics.

In CirculateQR

Open the code from your dashboard and use the destination editor, which says “Change where this code sends people. The printed code stays the same.” A version snapshot is saved each time you change it. If the code has routing rules, remember that a matching rule sends people to its own page; the default destination you just edited only applies when no rule matches. See how routing rules work.

On the Stealth plan you can make the same change through the API, which is useful when destinations live in another system. The short URL stays the same:

curl -X PATCH https://circulateqr.com/api/v1/qr/<code-id> \
  -H "Authorization: Bearer cqr_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "destination": "https://example.com/fall-preorders" }'

The full reference is in the API docs, and plans with API access are on the developers page.

Why does the change take effect on the very next scan?

Because the server decides where each scan goes at the moment it happens, and it tells the phone with a temporary redirect. CirculateQR answers every scan of a dynamic code with an HTTP 302 redirect.

HTTP has two common redirect codes, and the difference matters here. The HTTP standard, RFC 9110 (June 2022), lists a 301 “Moved Permanently” response as heuristically cacheable: unless the server says otherwise, a browser may store it and go straight to the old target next time, without asking the server. A 302 “Found” means the resource is temporarily somewhere else and is not on that list, so the browser asks again on every visit.

Why a 302 redirect picks up an edit and a cached 301 redirect may not302 TEMPORARY301 PERMANENTScan 1: server saysgo to the old pageScan 1: server saysgo to the old pageYou change the destinationScan 2: browser asksthe server againScan 2: browser reusesthe saved redirectNew pageedit applied, scan countedOld pageedit missed, scan uncountedBrowsers may cache a 301 by default. A 302 is notcached unless the server says so, so every scan asks.
With a 302, every scan reaches the server, so an edit applies straight away. A cached 301 can send a returning scanner to the old page without the server ever seeing the scan.

For a QR code, a cached 301 causes two problems. Someone who scanned before your edit may land on the old page when they scan again, and those repeat scans never reach the server, so they are not counted. If you are comparing services, ask which redirect they use; it is one of the points in how to choose a QR code generator.

How should you test a code after changing it?

A two-minute check catches nearly every problem:

  • Scan a printed copy, not your screen. Print size and quality are part of what you are testing.
  • Use an iPhone and an Android phone on cellular data. Turning WiFi off proves the page is public and shows how fast it loads on a typical connection.
  • Check your tracking tags. In CirculateQR, UTM tags set on the code are added at redirect time and override the same keys in the new URL. See how scan tracking works.
  • Test each routing rule. If the code sends iPhones or evening scans somewhere different, try a case for each.
  • Keep the old page alive. People bookmark the page they landed on, so point it at the new one rather than deleting it.

What can you do if the printed code is static?

You can’t change the pattern, but you can change what happens around it. In rough order of cost:

Redirect the address, if it is on your domain

If the code points to yourbakery.com/summer, add a redirect from that path to the new page in your website settings or web server. Use a temporary (302) redirect if you might change it again, and a permanent (301) one only when the move is final, because browsers may cache it. You won’t get scan counts this way, though your website analytics will see the visits.

Cover it with a new code

Print a dynamic code on a sticker and place it over the old one. The sticker must cover the whole old code and its quiet zone, the blank margin 4 modules wide around it (see the size guide), and leave a clean margin around the new code. Use opaque material, or the camera may see a mix of two codes. Make the new code at least as large as the old one.

Reprint

For small runs, or anything where trust matters, reprinting is the cleanest fix. It is also the moment to switch to a dynamic code so you never face this again; the free URL QR code generator is a quick place to start.

How do you stop a printed dynamic code from pausing?

On CirculateQR’s free plan, each dynamic code and hosted page works for 14 days after it is published (counted from creation if it is never published). After that it stops redirecting, and anyone who scans it sees: “This QR code isn’t active right now. Its owner needs to switch it back on.” Nothing is deleted.

To keep a printed code working, do one of these before day 14:

  • Upgrade to any paid plan. Paused codes reactivate, and dynamic codes don’t expire while you are subscribed.
  • Pay a one-time $5 for that code. It then works permanently, even if you later downgrade.

If you cancel a paid plan, codes work to the end of the billing period, then 14 more days, then pause until you resubscribe or pay $5 per code. Static codes never expire. See the pricing page and do QR codes expire?

What does a destination change look like in practice?

A bakery prints 2,000 flyers in June with a dynamic code pointing to example.com/summer-offer. The offer ends on August 31. On September 1 the owner opens the code in her dashboard, pastes example.com/fall-preorders, saves, and scans a flyer with her phone’s WiFi turned off. The new page loads. The flyers still pinned to bulletin boards now promote fall pre-orders, and the scan chart shows how many scans came in after the change.

Had the code been static and pointed at her own site, a temporary redirect from /summer-offer to /fall-preorders would have done the same job, minus the scan counts. Had it pointed at a platform she doesn’t control, all 2,000 flyers would have been stuck with the old offer.

Frequently asked questions

How quickly does a QR code destination change take effect?

With a dynamic code that uses a temporary (302) redirect, as CirculateQR’s do, the change applies from the next scan after you save. If a service uses a permanent (301) redirect, phones that scanned before may keep opening the old page because their browser cached the redirect.

Can I change a QR code’s destination without access to the original account?

Not for a dynamic code. The destination is stored in the account that created the short link, so only that account can change it. Ask the agency or person who made it for access. If you can’t get it, treat the code as static: cover it with a new code or reprint.

Does changing the destination change the QR code image?

No. The pattern encodes the short link, and the short link stays the same when you edit the destination. Codes already printed keep working, and if you need more copies later you can reuse the same artwork. Only the page people land on changes.

Will changing the destination reset my scan statistics?

Not in CirculateQR. Scans are recorded against the code, together with the destination or routing rule each scan was sent to, so the history before and after the change stays on the same code. That makes it easy to compare the weeks before and after an edit.

Is it safe to put a sticker over an old QR code?

It works if the sticker is opaque and covers the whole old code plus its blank margin. The concern is trust: scammers cover genuine codes with stickers, so customers may be wary of a stickered code. For anything involving payment or personal details, reprint instead of covering.

Last updated . Written by the CirculateQR team. Spotted something wrong or out of date? Email support@circulateqr.com.

Print codes you can change later

Make a dynamic QR code in the Studio and change its destination from your dashboard whenever plans change, without reprinting.