How to
How to edit a QR code
By Sam Moreton · updated 30 June 2026
7 min read · Updated 30 June 2026
Can you edit a QR code after it’s made?
It depends entirely on the type of code. There are only two: static and dynamic, and they behave completely differently when you need to change something.
- Static QR code — the destination (a URL, text, Wi-Fi details, whatever) is encoded directly into the pattern of squares. It is not editable. To change it you have to generate a brand-new code and reprint.
- Dynamic QR code — the pattern encodes a short redirect link (OpenQR uses
oqr.to/…), not your real destination. The redirect forwards to wherever you tell it to. Change the destination in your dashboard and every existing print of that code instantly points somewhere new.
So when people ask “how do I edit a QR code?”, the real answer is almost always: use a dynamic code. That’s the only kind you can repoint after the fact. Our explainer on static vs dynamic QR codes covers the full comparison.
Why a static QR code can’t be edited
This trips people up, so it’s worth being clear about why it’s impossible — it isn’t a missing feature, it’s physics. When you make a static code, the generator takes your URL and turns it directly into the arrangement of dark and light modules. The link is the pattern. There’s no database entry, no setting, no “behind the scenes” reference — scan it and the phone reads the URL straight off the squares.
To change the destination, the pattern itself would have to change, which means a different code. No tool — OpenQR or otherwise — can edit a static code in place, because there’s nothing to edit: the only place the link lives is on the paper in front of you.
The upside of static
Because the data is self-contained, a static code never expires and never depends on anyone’s server staying up. It just can’t be changed. That’s the trade: permanence, but no flexibility. See do QR codes expire? for more.
How to tell if your QR code is static or dynamic
Before you can decide what to do, work out which type you’re holding. Two quick checks:
Identify your code:
- 1
Scan it and read the link
Point your phone’s camera at the code and look at the URL it shows before you tap. If it’s a short redirect like
oqr.to/abc123(or another short-link domain), it’s dynamic. If it shows your full, real destination URL, it’s static. - 2
Check where it was made
If you created it in the OpenQR dashboard as a dynamic code, it’s dynamic and editable. If you used the free generator’s plain URL/text export, or any “download a QR code” tool with no account, it’s almost certainly static.
Rule of thumb
If you never signed in to manage the code, it’s static — there’s nowhere to edit it. Dynamic codes always live behind an account, because something has to store the editable destination.
What to do if your code is static
If you’ve confirmed it’s static and the link is wrong, there’s no way to edit the existing print. You have two practical moves:
- Regenerate and reprint. Make a new static code with the correct destination and replace the printed copies. This is the only fix for an already-printed static code — there’s no shortcut.
- Switch to dynamic going forward. So you never get stuck again, recreate it as a dynamic code. Then any future change is a dashboard edit, not a reprint. This is especially worth doing for anything expensive or slow to reprint — posters, packaging, signage, vehicle livery.
Reprinting is the cost of static
If you’re printing thousands of flyers or a billboard, redoing them because a link changed is painful and expensive. That’s exactly the problem dynamic codes solve — make it dynamic the first time and you only ever print once.
How to edit a dynamic QR code in OpenQR
If your code is a dynamic OpenQR code, editing it takes about thirty seconds and the printed code never changes — you’re only changing where its oqr.to link forwards to.
To repoint a dynamic code:
- 1
Sign in to your dashboard
Go to your OpenQR dashboard and sign in with a magic link — enter your email and click the link we send you. No password to remember.
- 2
Open the code you want to change
Find the code in your list and open it. Each dynamic code shows its current destination and its
oqr.toshort link. - 3
Change the destination URL
Edit the destination field to the new link you want it to point at. It must be a public
http(s)URL — internal/private addresses are rejected for safety. - 4
Save
Save the change. The redirect updates instantly — every existing scan of the printed code now lands on the new destination. Nothing to reprint, nothing to redistribute.
The printed code never changes
Editing a dynamic code only updates the redirect target. The QR pattern on your poster, menu or packaging stays exactly as printed — it always encoded the oqr.to link, and that link is what you’re repointing.
Common reasons to edit a QR code
Almost every real-world “I need to change my QR code” situation is solved by a dynamic code. A few of the most common:
| Scenario | What you change | Why it matters |
|---|---|---|
| Moving a campaign URL | Repoint the code to the new landing page | The campaign URL changed but the printed posters stay valid |
| Fixing a typo’d link | Correct the destination URL | A wrong link on a print run is a dashboard fix, not a reprint |
| Seasonal menu swaps | Point the same table code at the new menu PDF | One printed code, a different menu each season |
| Retargeting a poster | Send an old poster’s code somewhere new | Reuse existing prints for a fresh offer or page |
| Temporary redirect | Switch to a holding page, then switch back | Handle outages or sold-out pages without reprinting |
In every case the printed code is untouched — you’re editing the destination behind it. That’s the whole point of going dynamic, and it’s why dynamic codes are worth using for anything that’s expensive or slow to reprint.
Editing codes via the API and MCP
The dashboard is the right tool for everyday edits, but if you manage codes at scale you can change a destination programmatically too. OpenQR’s free REST API (/v1/dynamic) lets you update a code’s destination with a single call, and the MCP server exposes the same actions to AI assistants — so you can repoint a code straight from a chat. The dashboard, API and MCP all run through the same edit path, so behaviour is identical whichever you use. See the API overview and dynamic QR codes API guide if you want to automate.
OpenQR’s free limits, honestly
The QR generator and the API are free. Dynamic codes have a free tier so you can try the whole thing before paying anything:
- Free — up to 10 dynamic codes, editable anytime, with 7-day scan analytics.
- Pro — £4/month — unlimited dynamic codes and full scan history (no 7-day cap).
Editing a code’s destination is free on both tiers — the limits are on how many codes you can have and how far back your analytics go, not on changing them. Full details on the pricing page.
Test the code after you edit it
Whenever you change a destination, scan the live code once to confirm it lands where you intended — especially before a busy launch. A dynamic code updates instantly, but a moment’s check rules out a typo in the new URL. Our guide to testing a QR code walks through doing it properly, and you can watch the edit take effect in your scan analytics.
The takeaway
You can only edit a QR code if it’s dynamic. Static codes are permanent and unchangeable by design — to change one you reprint. If you might ever need to update where a code points, make it dynamic from the start: print it once, and repoint it as often as you like from your dashboard. Read more in our guide to dynamic QR codes.
Generate a free QR code below — or sign in to create a dynamic code you can edit anytime without reprinting.