How to Change a QR Code's Destination After Printing

Editorial Team

You can change where a QR code points after it's printed — but only if it's a dynamic code. Dynamic codes store a redirect you can edit anytime, so an already-printed code can send scanners to a new URL in seconds, with no reprinting. Static codes can't be changed — the destination is baked into the image. Below is exactly how to edit a dynamic code, how to troubleshoot it when the edit doesn't seem to take, and the catch most guides bury: the ability to edit is only as permanent as your subscription.

First: is your code static or dynamic?

This decides everything, so it's worth confirming before you do anything else.

  • Static code — the destination URL is encoded directly in the pattern. It cannot be changed. If you need a new destination, you generate and print a new code. (Full breakdown: dynamic vs static.)
  • Dynamic code — the pattern encodes a short redirect on the provider's server; the real destination is a setting you can edit. This is the only kind you can re-point after printing.

There are two reliable ways to tell which one you have

  1. Check the account it was made in. Log in to whatever tool created it and look for an "edit destination" option next to the code. If there is one, it's dynamic. If the code was made by a free "download and go" tool with no account, it's almost certainly static.
  2. Scan it and read the resulting URL. A static code typically resolves straight to your own long destination URL (your website, a PDF, a vCard). A dynamic code usually resolves through a short intermediate domain that belongs to the provider, not you — something like qrti.gr/abc123 or uniqode.link/xyz — before landing on the real destination. If the URL bar shows a short link on someone else's domain first, that's your dynamic redirect doing its job.

How to change a dynamic code's destination (the steps

The core process is nearly identical across every platform, even though the interface looks different from vendor to vendor

  1. Log in to the account that created the code.
  2. Find the code in your dashboard — usually listed by name, creation date, or a thumbnail of the pattern itself.
  3. Open the edit or "manage" screen for that specific code.
  4. Replace the destination URL with the new one. Double-check for typos before saving; this is the single most common source of a "broken" edited code.
  5. Save. The redirect updates on the provider's server, usually live within seconds to a couple of minutes.
  6. Test it — scan the printed code (not the on-screen preview) with at least two different phones to confirm it lands on the new page.

That's it in outline. Every previously printed instance of that code now points to the new destination, because they all route through the same redirect you just edited — no reprinting, no re-stickering, no new code.

How the process differs by platform

The steps above are generic on purpose, because the exact click-path varies enough between vendors that it's worth knowing what to expect before you log in

PlatformWhere the edit option livesTypical propagation timeNotable quirk
UniqodeCode list → click code → "Edit destination"Seconds to ~1 minuteCodes stop redirecting entirely if the subscription lapses (see below)
MobiqodeDashboard → code → destination fieldSeconds to ~1 minuteEditable-code count is capped by plan tier (10/100/500 codes)
FlowcodeFlowcode dashboard → select code → link settingsSeconds to a few minutesAnalytics and editing are on separate permission tiers on some plans
OwnQRDashboard → select code → update URL → saveSeconds❌ plan-tier cap on which codes can be edited; edit ability isn't gated behind a recurring payment

The mechanics are similar enough that once you've edited one dynamic code, you can generally find the equivalent screen on any other platform within a minute or two of poking around the dashboard.

Testing an edit thoroughly, not just once

A single successful scan right after saving isn't enough to confirm an edit worked everywhere it needs to. If the code is on anything beyond a handful of printed units — packaging, signage, a batch of business cards — run through this before considering the job done

  1. Scan the actual printed material, not a photo of it on a screen and not the digital proof file. Print quality, lighting, and material finish can all affect whether a scanner reads the code correctly, independent of whether the destination itself is right.
  2. Use at least two different phones — one iOS, one Android — since camera apps and default scanner behavior differ between platforms and can surface caching or rendering issues that only show up on one operating system.
  3. Scan more than one physical copy if the code was printed in bulk. It's a reasonable but incorrect assumption that every printed copy of the same code behaves identically; a damaged, poorly printed, or partially obscured copy elsewhere in the batch can fail even though your test copy scans fine.
  4. Wait a minute between saving and testing to rule out the brief server-side caching window some platforms use, so you're not chasing a false "it's broken" reading that would have resolved itself.
  5. Test from the environment it'll actually be scanned in, not just your desk — outdoor daylight for signage, in-store lighting for shelf tags, low light for restaurant table tents.
  6. Have someone outside your team test it, if the print run is large enough to matter. Internal testers already know what they expect to see; a fresh scanner catches problems — wrong destination, confusing landing page, broken link — that familiarity tends to paper over.

Skipping this and relying on a single successful test scan is the most common reason an edit that worked in the dashboard doesn't actually work for every customer scanning the physical print.

What you can and can't change without reprinting

Editing a dynamic code only changes one thing about it — where it sends people. It's worth being precise about the boundary, because it's a common source of disappointment when someone expects an "edit" to do more than it does

What you want to changePossible without reprinting?Why
Destination URLYesThis is the redirect setting stored on the server — the entire point of a dynamic code
Whether it's active or pausedYes, on platforms that support itSome tools let you temporarily disable a code (Replug, for example, supports setting a link expiry) without deleting it
Colors, logo, or frame designThe visual design is baked into the printed pixels the moment you print it; changing it requires a new print
Physical sizeSame reason — size is a property of the printed material, not the redirect
Error correction levelThis is chosen at generation time and encoded into the pattern's structure; it can't be changed retroactively on an already-printed code
The QR pattern itselfEditing the destination does not regenerate a new visual pattern — the exact pixels stay identical, which is the entire feature

That last row is worth dwelling on, because it's counterintuitive the first time you encounter it: editing a dynamic code's destination does not change what the printed pattern looks like. The pixels you printed months ago are the same pixels today. What changes is invisible — a row in a database on the provider's server that the redirect looks up on every scan. That's also exactly why a company shutting down or a subscription lapsing breaks the code without any visible change to the print itself: the failure happens entirely on the server side, where you can't see it until someone scans and hits an error.

How the redirect actually works (and why it's instant

Understanding the mechanism makes the caching troubleshooting below much easier to reason about. A dynamic QR code's printed pattern encodes a fixed short URL — something like provider.link/a1b2c3. That part never changes. What happens on scan is a standard web redirect

  1. Your phone's camera or scanner app reads the pattern and extracts the short URL.
  2. It opens that URL like any other link, which sends a request to the provider's server.
  3. The server looks up a1b2c3 in its database and finds whatever destination you currently have saved against it.
  4. The server responds with an instruction telling your phone's browser to go to that destination instead — a standard HTTP redirect, the same mechanism used by any shortened link.

Because the lookup happens fresh on every scan — the server checks its database each time, not once and forever — an edit takes effect the moment the database record updates. There's no need to "re-encode" anything or wait for a new version of the printed pattern to propagate, because the printed pattern was never storing the destination in the first place. The only delays you'll ever see come from the provider's own server-side caching (some platforms cache popular redirects for a few seconds to keep response times fast under load) or from caching on your own device, both of which resolve within the timeframes covered in the troubleshooting section below.

Why does the old destination still show up after I edit it?

This is the most common source of confusion right after an edit, and it's rarely a sign that anything actually broke. Work through these in order

  1. Give it a minute. Most platforms update the redirect within seconds, but some cache the response briefly on their own servers to keep scans fast. If you tested immediately after saving, wait 60 seconds and rescan.
  2. Rescan with a different phone or camera app. Phone camera apps and dedicated scanner apps sometimes cache the result of a previous scan of the same code, especially if you scanned it multiple times in quick succession while testing. A different device sidesteps this entirely.
  3. Force a hard refresh if it opens in a browser. If the destination is a webpage and your browser shows the old version, that's browser caching, not the redirect — refresh with cache-clearing (usually Ctrl/Cmd+Shift+R) or open the link in a private/incognito window.
  4. Confirm you edited the right code. If you have more than one similar-looking dynamic code (easy to happen with a batch printed for different products or locations), double-check the dashboard entry you edited actually corresponds to the physical code you're scanning.
  5. Check the save actually completed. A dropped connection or a form validation error (like an invalid URL format) can silently fail to save. Reopen the edit screen and confirm the new URL is actually showing as saved, not just typed into the field.

If none of that resolves it after a few minutes, it's worth confirming your code is genuinely dynamic in the first place — see the "static or dynamic" check above. A common source of "I edited it and nothing changed" reports is someone attempting to edit a static code's destination through a tool's interface, which will let you rename the code but cannot alter what's physically encoded in the printed pattern.

What if you don't know who made your printed QR code?

This happens more often than most guides acknowledge — someone inherits a marketing campaign, takes over a storefront, or finds a box of old packaging with a code on it, with no idea which tool or account generated it. If that's your situation

  1. Scan the code and note the resulting URL, per the static/dynamic check above. If it resolves through a short link on a recognizable QR vendor's domain (Uniqode, QR Tiger, Bitly, Flowcode, and similar all use their own short-domain patterns), that tells you which company to search your accounts or old email receipts for.
  2. Search your email for the vendor's name plus "receipt," "invoice," or "welcome" — subscription QR tools almost always send a confirmation email when an account is created, even years earlier.
  3. Check whoever handled the original print job — a designer, marketing agency, or previous employee may have generated the code under an account you don't have access to.
  4. If the original account is truly unrecoverable, the code is effectively dead to you even though it's technically still a working dynamic code somewhere in someone else's dashboard — your only path forward is printing a new code under an account you control, and treating this as the moment you also decide how to avoid the same problem next time (see the pre-purchase checklist below).

This scenario is also a quiet argument for how you set up dynamic codes going forward: use an account with more than one person who has access, or credentials stored somewhere your organization can retrieve later — not a single employee's personal login.

Real situations where this saves you

  • A menu or catalog changes seasonally — re-point the same printed code to the new PDF. A restaurant that reprints table tents four times a year for seasonal specials can instead keep one printed design in circulation indefinitely and just update the destination each season.
  • A campaign ends — send an expired promo code to your homepage instead of a dead page, so scans after the promotion still land somewhere useful rather than a 404.
  • You printed the wrong URL — fix it without scrapping the print run, which is a genuine lifesaver on packaging where a reprint means discarding inventory, not just a page.
  • A page moves — update the destination when your site restructures, so old printed codes — on business cards handed out years ago, on signage still standing — keep working instead of quietly rotting.
  • A property or listing changes hands — real estate signage with a QR code pointing at "this listing" can be repointed to the new listing on the same yard sign, without reordering signs for every new property.
  • An event's schedule shifts — conference badges or venue signage printed weeks in advance can be repointed the morning of the event if a room or time changes, rather than posting paper corrections over the original signage.

Industry data supports the value here in general terms: Uniqode reports that a large majority of marketers using dynamic codes see lower print costs, and that a meaningful share of consumers have hit an expired QR link (these are Uniqode's own published figures; the original survey sources aren't independently verified, so treat them as directional rather than exact). The underlying point holds regardless of the precise percentages: being able to edit after printing avoids reprint bills and dead links, which is the entire reason dynamic codes exist as a category.

Does editing the destination affect my scan analytics?

If your dynamic code tracks scans, a natural worry is whether changing the destination resets or fragments that history. On virtually every platform, the answer is no — analytics are tied to the code's ID, not to whatever URL it currently points to. That means

  • All historical scans stay attached to the same code, whether they happened before or after you changed the destination. You don't lose count history by editing.
  • You can usually filter by date range to compare performance before and after an edit — useful for answering a question like "did scans increase after we pointed this code at the new landing page instead of the old one?"
  • What the analytics won't tell you is which destination a given historical scan was actually shown, unless the platform specifically logs that alongside the timestamp — most basic dashboards just show total scans over time, not "scans that saw destination A" versus "scans that saw destination B." If that distinction matters for your reporting, check whether your specific tool logs destination changes as timestamped events, not just scan counts.

The practical takeaway: editing is safe from an analytics standpoint. You're not starting over, and you're not at risk of losing scan history by pointing an existing code somewhere new.

The catch every guide buries: edit-ability can be held hostage

Here's what you'll rarely see stated plainly in a "how to edit your code" article. On subscription platforms, your dynamic codes — and your ability to edit them — stop working the moment your subscription lapses. Uniqode's own support material acknowledges this directly, noting that codes "stop redirecting when the subscription lapses." Its documentation goes on to explain that people who scan won't reach the destination, and that reactivating the subscription restores all codes immediately.

Reactivating restores them — but until you do, every printed code is dead, including ones you may have printed and forgotten about years earlier.

Notice where that admission lives: in support/FAQ text, not in the marketing. And notice that the other major guides on this exact topic — Replug, Mobiqode, and others covering "how to edit a QR code" — don't mention it at all. That's not an oversight. Telling readers "the day you stop paying, everything you printed goes dark simultaneously" would undercut the very subscription the article is trying to sell.

What keeping that edit ability alive actually costs, per year

To make the "hostage" framing concrete rather than rhetorical, here's what several vendors that offer editable dynamic codes actually charge to keep that ability active, annualized

ProviderEntry editable-code tierAnnual costWhat lapses if you stop paying
MobiqodeMini, 10 editable codes$60/year ($5/mo)All 10 codes stop redirecting
QR TigerAdvanced (most popular)$192/yearAll codes on the plan stop redirecting
QR Code GeneratorAdvanced (most popular)$227.88/yearAll codes on the plan stop redirecting
UniqodeCore ("best value")$588/yearAll codes stop redirecting (per their own support text above)
OwnQRLifetime Dynamic$15 onceNothing — there's ❌ subscription to lapse

This is a genuine mismatch worth naming directly. You print codes onto things with long physical lives — packaging, signage, business cards, catalogs that live for years. But a subscription ties that multi-year physical asset to a payment status that can break the moment a card expires, an invoice is missed, a budget is cut, or someone forgets to renew. The physical lifespan and the subscription's fragility don't match. That mismatch is the real risk, and it's the same failure mode as when a QR company shuts down and the reason behind why codes "expire". For the fuller picture across more vendors, see this site's pricing comparison across major QR code generators.

A worked example: a product launch, told as a timeline

To make the "hostage" argument concrete instead of abstract, walk through an actual sequence rather than a hypothetical one. A retailer prints 20,000 units of product packaging with a dynamic QR code pointing to a "coming soon" landing page, planning to switch it to the live product page the day of launch.

  • Month 0: Packaging ships to shelves. The code points to the "coming soon" page. Everything works as intended.
  • Month 1, launch day: Someone on the marketing team logs in and edits the destination to the live product page. The change takes effect in seconds, across all 20,000 units already on shelves and any still in the warehouse. No reprint, no relabeling.
  • Month 4: The company switches accounting software, and a card on file for the QR platform's subscription expires without anyone noticing — a routine, easy-to-miss administrative event, not a dramatic failure.
  • Month 4, one week later: Every one of those 20,000 codes stops redirecting. Customers scanning packaging on shelves now hit an error page instead of the product page. Nothing about the printed packaging changed; the failure is entirely on the server side, invisible until a customer complains or someone happens to test a scan.

The reprint or relabel cost for a run that size, if the company decided to physically fix the packaging rather than just restore the subscription, would land well within the range one independent QR pricing analysis estimated for reprint failures generally — roughly $500 to $40,000, depending on volume and material (a competitor's own estimate, cited in this site's pricing comparison, not a claim made here independently). In this scenario the fix is simpler — reactivate the subscription — but that's exactly the point: the packaging's fate for that entire week depended on a billing event that had nothing to do with the packaging itself. A one-time-purchase code removes that specific failure mode, because there's no recurring charge sitting between "the packaging is fine" and "the code still works."

Bulk editing many codes at once

Editing one code through a dashboard is simple. Editing fifty — across different store locations, product lines, or campaign variants — is a different problem, and it's worth knowing what's available before you're stuck doing it one at a time

  • CSV or bulk-upload tools. Several platforms let you export your current codes and destinations as a spreadsheet, edit the destination column, and re-upload it to apply changes across many codes in one pass. This is typically available on mid-tier and above plans, not entry tiers.
  • API access. For businesses managing QR codes as part of a larger system (inventory management, a CMS, a franchise network), some vendors expose an API that lets you update destinations programmatically — QR Code Generator's Advanced plan, for example, includes API request capacity for this kind of integration, and Flowcode's Growth tier bundles API access as part of its higher-priced plan.
  • Tag or group-based editing. A smaller number of platforms let you group codes (by store location, by product category) and push a destination change to an entire group at once, rather than a full CSV round-trip.

If your use case involves dozens or hundreds of codes that need coordinated updates — a franchise updating menu codes across every location simultaneously, for instance — bulk or API access is worth confirming before you commit to a platform, not after you've printed materials for fifty locations and discovered manual one-by-one editing is your only option.

Common mistakes when editing a printed QR code

A handful of avoidable errors account for most of the "I edited it but it's not working" reports

  1. Editing the wrong code in a batch. If you generated a dozen similar codes for different products or locations, it's easy to open the wrong dashboard entry. Label codes clearly by their physical placement, not just a generic name, when you first create them.
  2. Pointing at a URL that isn't live yet. Saving a destination that 404s because the new page hasn't been published is indistinguishable, from the scanner's perspective, from the redirect itself being broken. Publish the destination first, then update the code.
  3. Forgetting the protocol in the URL. Some dashboards require the full https:// prefix and will silently reject or mishandle a URL missing it. If the save appears to succeed but scans still fail, check the URL was saved exactly as intended.
  4. Assuming a static code became dynamic because a tool "let" you rename it. Some generators allow you to edit the label or notes attached to a static code's record without warning you that the printed pattern itself is unchanged. Renaming isn't redirecting.
  5. Not testing on the actual printed material. A code that scans correctly from a laptop screen can behave differently once printed — lighting, print size, and material glare can all affect whether a scanner even reads the code correctly, independent of whether the destination itself updated.

Pre-purchase checklist: making sure you can actually edit later

If you're choosing a QR tool specifically because you expect to need to change the destination someday, confirm these before you print anything at scale — not after

  1. Confirm the code type is dynamic, not static, at the point of creation. Some free tools generate static codes by default and only offer dynamic as a separate, sometimes paid, option.
  2. Read what happens if you stop paying. Search the vendor's help center for "subscription," "cancel," or "what happens to my codes" before you commit — Uniqode's own answer to this question is quoted above; most competitors don't publish one at all.
  3. Check whether editing is capped by plan tier. Some vendors limit how many codes can be dynamic/editable on a given plan (Mobiqode's tiers, for example, cap at 10, 100, or 500 codes) — make sure your print volume fits comfortably under whatever tier you're paying for.
  4. Decide who else needs account access. A single employee's personal login is a liability if that person leaves — see the "orphaned code" scenario above.
  5. Weigh a one-time purchase against a subscription if the only feature you need is the ability to edit the destination later. As the annualized table above shows, that ability costs $60–588 a year on subscription tools, or $15 once with a one-time-purchase model like OwnQR — with no renewal date to track and no risk that a missed payment takes your printed materials offline.

How to keep the edit ability permanently

If the whole reason you want a dynamic code is to change the destination years down the line, you want that ability to survive years — including months where you might forget to pay. Two ways to get there

  1. One-time purchase. A pay-once model like OwnQR at $15 gives you the same edit-after-printing ability, but there's no recurring payment to lapse — so a missed month can't silently kill your codes.
  2. Self-hosted redirect. The technical route: point a domain you own at your own redirect so no vendor's billing status controls your codes. This requires more setup than a hosted tool, but removes any third-party dependency entirely.

The bottom line

Changing a QR code's destination after printing is easy — if it's dynamic, it's a short edit that goes live within minutes, and the steps are nearly identical across every major platform. The harder question is whether that ability stays yours. On a subscription, it lasts exactly as long as your payments do, and the vendors selling that subscription rarely say so in their marketing — only Uniqode states it plainly, and only in support text. If you need edit-ability to outlive the occasional missed invoice, choose a one-time-purchase code or self-host the redirect — so the codes you printed on this year's packaging still work on the day you'd forgotten the tool existed, not just the day you last remembered to pay for it.

Frequently asked questions

Can you change a QR code's destination after printing?
Only if it's a dynamic code. Dynamic codes route through an editable redirect, so you can change the destination anytime without reprinting. Static codes have the destination encoded in the image itself and cannot be changed — you'd need a new code.

How do I change where my QR code points?
Log in to the platform that created the dynamic code, select the code, replace the destination URL, and save. The redirect updates server-side, usually within seconds, and every printed copy of that code now points to the new URL. Always test the printed code afterward.

Will my QR code stop working if I cancel my subscription?
On subscription platforms, yes. Dynamic codes stop redirecting when the subscription lapses, and reactivating restores them. A one-time-purchase code keeps the edit ability with no recurring payment that can lapse.

Why does my QR code still show the old destination after I edited it?
Almost always caching, not a broken edit. Wait about a minute, then rescan with a different phone or camera app, and hard-refresh if it opens in a browser. If it still doesn't update, confirm you edited the correct code and that the save actually completed.

I don't know who made my printed QR code — can I still edit it?
Only if you can find the original account. Scan the code and check the resulting URL: a short link on a recognizable vendor's domain suggests it's dynamic and tells you which company to search your email or old invoices for. If the account is unrecoverable, you'll need to print a new code under an account you control.

How much does it cost to keep a QR code editable long-term?
Subscription tools typically charge $5–49 a month ($60–588 a year) to keep editing active, and everything you printed stops redirecting the moment you stop paying. A one-time purchase like OwnQR ($15) keeps the same ability permanently, with no recurring fee to miss.

Frequently Asked Questions

Related Market Insights

Need a QR code that never expires?

See Lifetime Deal