Edit QR codes after they are printed
Dynamic QR codes can be repointed, restyled, paused, or replaced after they're printed — the physical code never changes, only what it resolves to. This guide explains the difference between static and dynamic codes, walks through every kind of edit you can make in OpenMyLink, and covers what is and isn't possible once the ink has dried.
One of the most expensive marketing mistakes is printing 50,000 menus, packaging runs, or trade-show banners with a QR code that points at a URL you can never change. Six months later the campaign ends, the landing page is gone, and every scan now lands on a 404. Dynamic QR codes fix that — the printed pattern stays the same forever, but the destination is editable in the dashboard.
Why dynamic QR codes are editable
A static QR code is a literal-to-the-bit encoding of the destination URL. Change the URL and the entire QR pattern changes — there's no way to update a printed code, because the URL is the code.
A dynamic QR code, like the ones OpenMyLink generates, doesn't encode the destination URL. It encodes a short URL on our redirect domain — for example oml.link/menu-q2. When somebody scans, their phone hits that short URL and OpenMyLink looks up the current destination in real time, then redirects. The printed pattern only encodes the short URL, which never changes. Everything else is editable.
Static vs dynamic — pick before you print
Choose the type when you create the code; you cannot convert one into the other after printing. Quick decision matrix:
| Static | Dynamic | |
|---|---|---|
| Editable destination | No | Yes |
| Scan analytics | No | Per-scan, with geo + device |
| Custom domain | Optional | Yes |
| Pattern complexity | Higher (full URL encoded) | Lower (short URL only) — prints cleaner |
| Works if OpenMyLink is down | Yes | No — needs the redirect |
| Right for | Wi-Fi credentials, vCards, one-off events | Marketing, packaging, anything you might want to update |
Recommendation: default to dynamic for any printed campaign that has a budget attached. The optionality alone is worth the marginal extra setup.
Change the destination URL
This is the move that pays for itself the first time you use it.
- Open the dashboard and navigate to QR codes.
- Click the code you want to repoint.
- Click Edit next to the destination URL.
- Paste the new URL and save.
The change propagates immediately. The next scan — even from a code that has been in a printed magazine for nine months — lands on the new URL. No reprint, no broken scans, no lost traffic.
Restyle the code without breaking scans
You can change the visual style of a dynamic QR — colors, eye shape, dot pattern, embedded logo — without affecting what it encodes. Two important rules:
- Style edits only matter for codes you haven't printed yet. Anything already printed keeps the old style. Restyle is for the digital export you'll use on the next batch.
- Keep contrast high. OpenMyLink warns you when a color pair is below the contrast threshold needed for reliable scanning. Don't override the warning unless you've tested with phones running iOS 16 and Android 11 (the floor we support).
Pause or expire a QR code
Sometimes you don't want to redirect the user to anything — for instance, the campaign is over and you'd rather show a "this campaign has ended" page than a 404 from a dead landing page.
Set the destination to a hosted page on your domain (or an OpenMyLink bio page) that explains the campaign is over and offers a next step. The QR keeps working forever; the experience degrades gracefully.
Replace it with a campaign rotator
Want one printed QR code to serve different content per audience? Point it at an OpenMyLink Campaign rotator. The rotator can:
- Send mobile users to the App Store, desktop users to a web demo.
- Split scans equally across two landing pages for an A/B test.
- Rotate sequentially through five product detail pages so each scan sees the next one.
- Route by country, language, or referrer.
The QR pattern is unchanged. The behavior on the other side is whatever you configure today and whatever you reconfigure tomorrow.
What you cannot change
- The short URL itself. If the printed code encodes
oml.link/menu-q2, that string is permanent. Pick the slug carefully. - The encoded data on a static code. Static = static. The only fix is to print new codes.
- The error-correction level after print. Burn into the printed code at generation time. Higher correction = more redundant data = the code keeps scanning even when partially damaged.
Use cases this unlocks
- Restaurants. Print the menu QR once. Update the menu URL every week.
- Retail packaging. One QR per SKU on every box, repointed seasonally to the relevant campaign or product page.
- Trade shows. Banner with a QR. Point at the demo signup before the show, the post-event recap after.
- Real estate signage. One QR per property; repoint when the listing closes to the next available unit nearby.
- Print ads. Run the same magazine spread regionally; repoint the QR by reader location with a Campaign rotator.
See also: QR codes management for full editor reference, and Campaign rotators for the conditional routing patterns.
Was this article helpful?
Tell us what's working and what isn't — we read every reply.