tous les systèmes opérationnels
01 / GUIDE
[ published 2026-06-08 ]

Canva QR code stopped working? Here's why — and how to stop it happening again

Your Canva QR code stopped working? Run this short troubleshooting checklist, then fix the structural cause so it never breaks on you again.


02 / ARTICLE

You made it in Canva, you exported it, you printed it on something — a flyer, a sign, a batch of business cards — and now a phone points at it and nothing happens. Or it opens the wrong page. Either way, you’re staring at a code you can’t un-print, and that’s a bad feeling.

Take a breath. There are only a handful of reasons a Canva QR code stops working, and most of them have a clear cause. Here’s the checklist, in the order worth checking, then the fix that stops it recurring.

Troubleshooting checklist

1. The destination URL moved or was deleted

The single most common cause. A QR code made in Canva’s basic generator is static — the destination URL is baked straight into the black-and-white pattern . The code itself is fine and will scan forever. But if the page it points to was renamed, taken down, or moved to a new address, the scan now lands on a dead end.

Check: open the exact URL you encoded in a browser. If that link is broken, the QR code is innocent — your page is the problem. Restore the page at its original address, or set up a redirect from the old URL to the new one.

2. It was a paid-app dynamic code whose subscription lapsed

Some QR codes added in Canva come from third-party apps or integrations rather than the basic generator. Those can be dynamic — the printed pattern points at the app provider’s server, which then redirects to your real destination . The catch: if the app’s subscription or trial ended, that provider can deactivate the redirect. The pattern still scans; the redirect just stops answering.

Check: did you use a QR app from the Canva marketplace, or a code copied in from another tool? If the underlying subscription lapsed, the destination dies even though the image is perfect. This is the failure mode that surprises people most, because nothing on the printed code looks wrong. (More on the static-vs-dynamic split in Do Canva QR codes expire?.)

3. The exported image is too low-res or cropped to scan

A QR code is only readable if the camera can resolve its squares cleanly. If you exported at a small size, dropped it into a layout where it got scaled down, or let the design crop the quiet zone (the blank margin around the code), phones will struggle or fail to read it .

Check: does it scan on screen, up close, but fail in print? That points at resolution or contrast. Re-export larger (a PNG or PDF at print resolution), keep a clear white margin around all four sides, avoid placing it over a busy or low-contrast background, and don’t shrink it below roughly 2–3 cm on paper.

4. The link rotted — the page behind it died

Subtly different from #1. Here the URL didn’t move; the thing living at it simply stopped existing. A campaign landing page that was decommissioned, a free site whose hosting expired, a document share that was revoked, a social profile that was deleted. The link is structurally valid but resolves to nothing useful.

Check: if the URL once worked and now returns a 404, a parked-domain page, or a login wall it didn’t used to, the page rotted out from under your code. Same fix as #1: get something live at that address again, or repoint to a page you actually control.

The structural fix: stop printing codes you can’t change

Notice the pattern across the checklist: in almost every case, the code was fine. What broke was the destination — it moved, died, or sat behind someone else’s lapsed subscription. A static Canva QR code can never be edited after you print it, so when the destination breaks, your only option is to reprint.

There are two durable ways out.

Own the destination. Point your QR code at a URL on a domain you control, and commit to keeping that page alive. A static code is just a physical copy of a URL — if the URL outlives the print run, so does the code. This is genuinely the right answer when the destination will never need to change.

Use a durable redirect layer when the destination might change. Put a short link you control between the printed code and the real page. Then if the page moves, dies, or you simply want to send scanners somewhere new, you repoint the redirect instead of reprinting. The printed pattern never changes; only the target does. This is the dynamic approach — and it’s the gap a static Canva code leaves open.

That redirect layer is what we build at Heldqr (disclosure: this is our product). The honest summary: a genuinely free tier (€0, unlimited codes, never deactivated, keeps resolving) lets you edit a code’s destination any time in under a minute, so a moved or dead link is a 30-second edit, not a reprint. If you want a printed code to keep resolving even if Heldqr itself ever shut down, Pro (€9/mo) lets you point it at a custom domain you own — the one path that survives any single provider — and there’s a published continuity plan and an open-source resolver behind all of it. Business (€29/mo) adds team seats and an API. If your Canva code’s destination won’t ever change, you don’t need any of this — a static code is fine. The moment it might change, a redirect layer is what saves you from the reprint.

For the full why — what “expire” really means and how static and dynamic codes fail differently — see the pillar guide on QR codes that don’t expire.


Want the longer explanation of why this happens? Read The Complete Guide to QR Codes That Don’t Expire, or the companion piece Do Canva QR codes expire?. Found a Canva behaviour we’ve described wrong? Email us at hello@heldqr.com.