Only if you're on Canva Business, Canva Enterprise, or Canva for Nonprofit, and only if you picked the dynamic option before exporting. Canva ships two different QR codes behind the same element: a static code that bakes your destination straight into the pixels, and a dynamic code that routes through Canva's own redirect and reports back through a panel called Insights, total scans, unique scans, location, and device type. Free and Pro accounts never see the dynamic option at all, full stop. If you're on either of those plans and your analytics tab is empty, that isn't a bug. There was never a server sitting between your code and its destination in the first place.
That static-versus-dynamic split, and exactly which plans clear it, is the part most explainers skip, and it's the actual reason people get stuck.
Why the free and Pro QR code can't show you scan data
A static QR code is just a grid that encodes text. When Canva's free or Pro element builds one for you, it takes the URL you typed in and encodes that exact string into the pattern. Nothing about the code touches Canva's servers again after you hit export. Scanning it just tells a phone camera to open that URL, the same way scanning a QR code on a cereal box in 2007 did. There's no request that passes through Canva first, so there's nothing for Canva to log, count, or map by country, and no plan upgrade retroactively adds that logging to a code already printed as static.
Compare that with how a QR code that actually tracks scans works, whether that's Canva's own dynamic option or a generator built entirely around it. The code doesn't encode your real destination at all. It encodes a short redirect link. Every scan hits that redirect first, gets logged, and only then gets sent on to wherever you actually wanted people to land. You can't switch tracking on inside an already-exported static code after the fact. It has to be built in from the start, as one extra hop the code depends on.
This is also why a browser extension or a third-party plugin can't retrofit tracking onto a static Canva QR code after export. The code is already final the moment it's downloaded. Whatever URL is encoded in those pixels is permanent, and reprinting is the only way to change it.
What Canva's own Insights actually shows you, and who gets it
On Business, Enterprise, and Nonprofit plans, choosing the dynamic QR option gives you a Canva-hosted redirect plus a scan report inside Insights: total scans, unique scans, a location breakdown, and device type. That's a genuine step past a static code, and it costs nothing extra to turn on once your plan qualifies. It's also narrower than it sounds. Insights reports on the code as a whole, not on individual UTM-tagged campaigns, doesn't show referrer or click-path data, and lives inside Canva's own dashboard rather than alongside the rest of your marketing analytics. Free and Pro accounts, which is most individual users and small teams, see none of it: the dynamic toggle simply isn't offered, so the QR element behaves exactly like the static-only version described above.
Canva qr code dynamic: what people actually mean by this
People searching "canva qr code dynamic" are usually looking for the toggle itself, and it does exist, just not where most people can reach it. Open the QR element on Business, Enterprise, or Nonprofit and there's a switch between static and dynamic right there. Open the same element on Free or Pro and there's no switch at all, because the option isn't rendered for those plans, not because it's hidden in a menu somewhere. A dynamic QR code, on any tool, is one that points at a redirect link instead of a final URL, so the destination can be changed without reprinting anything. On Canva, that behavior is a plan feature. On a dedicated QR generator, it's just how the product works, on every tier including free.
Can you make a free or Pro Canva QR code trackable by feeding it a different link?
Yes, and this is the workaround worth knowing whether or not you ever upgrade Canva. The static QR element doesn't care what kind of URL you give it. It will encode a link to your website exactly as happily as it will encode a redirect link from a tracking tool. So instead of typing your final destination straight into Canva's free QR generator, you can first create a link inside a tool built for tracking, one that logs scans and can be repointed later, and then paste that link's URL into Canva's QR element. Canva still builds the code and it still sits in your design exactly the same, same size, same colors, same spot on the flyer. What's different is only what the code is actually encoding underneath, and that one substitution gets you scan data and an editable destination without ever touching Canva's own paid Insights.
Can you edit a Canva QR code's destination after it's printed?
Only the dynamic kind, and that means only on Business, Enterprise, or Nonprofit. Say you built a static QR code on Free or Pro pointing at a Google Form for an event, printed five hundred flyers, then the form link changed or the event moved to a new booking page. The QR codes on those flyers still point at the old link, and reprinting is the only fix, because the destination isn't stored anywhere Canva can update remotely for a static code. You're not editing a setting so much as printing a whole new code and swapping it in by hand.
A dynamic QR code, whether it's Canva's paid version or a separate generator, avoids this because the printed code points at a redirect URL that lives on a server, not at the form directly. Change where that redirect points, and every already-printed code updates instantly, without touching the print run.
Canva's QR code versus a dedicated tracking generator, side by side
| Capability | Canva Free / Pro (static) | Canva Business, Enterprise, Nonprofit (dynamic) | A dedicated QR generator (like Raydar) |
|---|---|---|---|
| Encodes destination directly into the code | Yes, always | No, encodes a redirect link | No, encodes a redirect link |
| Change destination after printing | Not possible, requires reprint | Yes, from Insights | Yes, from the dashboard |
| Scan count visible anywhere | No | Yes, total and unique | Yes, per code |
| Geography and device on scans | No | Yes | Yes, country and city level |
| UTM or campaign-level breakdown | No | No, Insights reports the code as a whole | Yes, via UTM parameters on the underlying link |
| Plan required | Free | Business, Enterprise, or Nonprofit | Free tier available, no card required |
| Native to a brand-color design canvas | Yes | Yes | No, generated standalone and dropped into any design tool |
| Can point at a full page instead of one URL | No | No | Yes, including a link-in-bio page |
When Canva's QR code is still the right call
If you're designing a poster in Canva anyway and the destination is genuinely fixed for the life of that print run, staying on the static option is not a downgrade, it's the simpler tool for the job. A QR code on a museum exhibit label pointing at one permanent audio guide page, or on a wedding invitation pointing at one RSVP form that will never move, doesn't need scan analytics or a redirect layer sitting between the scan and the page. Canva also wins on workflow either way: the QR sits in the same canvas as your brand colors, fonts and layout, so it never looks like a bolted-on sticker the way a code pasted in from an outside generator sometimes does, with slightly off margins or a white box that doesn't quite match the print stock.
Where it stops working is anything with a lifespan: a menu that changes seasonally, a campaign link someone might mistype into a form, an event page that could move, or any code you actually want performance data on. If you're already paying for Canva Business or above, that's exactly what the dynamic toggle is for. If you're on Free or Pro and don't want to upgrade Canva itself just to track a QR code, that's the point where a static Canva QR turns from convenient into a liability, and the workaround above is worth using.
What a dedicated tracking generator adds on top of Canva's own Insights
A generator built entirely around this problem does two things Canva's free and Pro element never does, and one thing even Canva's paid Insights doesn't: routing every scan through a redirect it owns, logging what happens along the way, and tying that data to the same campaign tags you're already using elsewhere. Raydar's QR codes work this way regardless of what plan you're on. Each one points at a Raydar link, which can carry UTM parameters for campaign tracking, can be repointed at any time from the dashboard, and logs every scan with referrer data and country and city level geography, on a free tier that needs no card to start. You can also send a QR code straight to a full link-in-bio page instead of a single URL, useful for anything printed once and meant to work for months, like packaging or signage. Generating the code takes about as long as it does in Canva, and you don't need to be on Canva's top three plans to get scan data out of it.
The short version
Canva's free and Pro QR codes can't show you scan data because they never run through a server at all, they're a direct encode. Canva Business, Enterprise, and Nonprofit get a real dynamic option with scan counts, location, and device type through Insights, but it's gated to those plans and doesn't break out UTM or campaign-level data. If your QR code needs to survive a changed link, a moved event, or you want scan data without upgrading Canva itself, generate it with a tool built around a dynamic QR code and drop the resulting image into your Canva design, rather than relying on the static element for anything longer-lived than a single fixed destination.