Hero slide: 'Static vs. Dynamic QR Codes' title with a bear avatar and two QR code diagrams on the right, beige background.

Static vs. Dynamic QR Codes: Which One Your Form Actually Needs

You’ve got a poster or a vehicle decal heading to the printer, and somewhere in the artwork sits a square where a QR code goes.

Then you start reading about which kind to generate, and every guide hands you two choices: static QR codes and dynamic QR codes.

In simple words, a static QR code is usually free and permanent, whereas a dynamic QR code costs money every month but lets you change where it sends people.

In this guide, I’ll go into more detail on what each type does, the trade-offs for both, and the cases where each option is relevant, particularly for forms.

Static vs. Dynamic QR Codes: What’s Actually Different

A static QR code has your destination address encoded directly into the black and white pattern, so a scan sends the phone straight to that address with nothing in between.

A dynamic QR code has a short address belonging to the QR company encoded into the pattern instead, and that company’s server forwards each scan on to whatever destination you currently have set.

The only structural difference is whose server sits between the phone and the page, and every other difference in this comparison comes out of that one.

Static vs. Dynamic QR Codes: The Short Version

Everything below comes down to one question, does the page you’re sending people to live on a site you control? If it does, you already own the one advantage dynamic codes get sold on.

Moving people from an address on your own domain to a new page is a redirect you set up yourself, and no invoice arrives for it. If it doesn’t, or if somebody expects a scan count from you, the subscription is buying something a redirect cannot do.

That first case covers most forms, which is why the built-in QR code generator in WPForms only makes static codes, pointing them at a page on your site or an address you type in, and why it works on every license level including the free one.

The Short Version

Go static when the destination is a page on a site you run. Go dynamic when you need a scan count you can report, or when the destination lives somewhere you don’t control.

Generate Your Form QR Code with WPForms

What Is a Static QR Code?

Every free generator you’ve used made you a static QR code, which means you type in an address, the tool turns those characters into a grid of black and white squares, and then it steps out of the picture.

No account is created, and nothing about the code depends on that tool existing next year. The address is locked in at the moment the pattern is drawn.

If you decide later that scanners should land somewhere else, you generate a fresh code and the old artwork keeps doing exactly what it always did.

Infographic explaining how URL length affects QR codes, showing a short address vs a long address with sample URLs and QR codes, plus side tips panels.

Because the whole address has to fit inside the grid, a long one produces a busier pattern than a short one, and that has real consequences at small print sizes.

This is why static codes are the normal choice anywhere the information never moves, like Wi-Fi credentials on a guest room card or a batch reference printed on packaging.

Nothing there needs updating, so there’s no reason to route a scan through a third party.

What Is a Dynamic QR Code?

A dynamic QR code holds a short address on the QR company’s own domain, something along the lines of qr-example.co/a1b2c3, and the company stores a record pointing that short address at your real destination.

A phone that scans it loads their URL first, which means their server reads the record, finds wherever you’re currently pointing, and forwards the visitor along.

That forwarding step is what you’re paying for, and it does give you two genuine capabilities. You can change the destination from a dashboard without touching anything already printed.

And because every scan passes through the company’s server, they can count those scans and break them down by time, device, and location.

Higher plans add routing rules on top, such as sending scanners to different pages depending on the country they’re in.

Infographic showing a three-panel layout about data routing and patterns, with a bold title and descriptive captions.

What You’re Actually Paying For

Drawing the pattern costs nothing, and no QR company charges for that part. The subscription covers the forwarding record and the dashboard that reads it, which is why pricing tracks scan volume rather than the number of QR codes you make.

Expect somewhere between $5 and $100 a month depending on volume and features. The same source puts 98% of codes created today in the dynamic column, which goes a long way toward explaining why nearly every article on this topic recommends one.

For the full account of what happens to a rented redirect when a trial ends or a plan lapses, I covered what actually kills a printed code separately.

Static vs. Dynamic QR Codes Compared at a Glance

A dynamic QR code does exactly two things a static code cannot, i.e., you can repoint it from a dashboard, and you can read scan counts off that same dashboard.

Everything else on a typical feature list is either a property of QR codes generally or a design option both types share.

Static QR codeDynamic QR code
What sits in the patternYour own destination addressA short address owned by the QR company
Changing the destinationGenerate a new code, unless you own the address and can redirect itEdit it in the company’s dashboard
Scan countsNone from the code itselfYes, from the vendor’s dashboard
Pattern densityDepends on how long your address isAlways short, so always sparse
Ongoing costNoneA subscription, roughly $5 to $100 a month
Who has to stay in businessYouYou and the QR company

Those rows don’t carry equal weight and three of the four questions below get answered by facts about your situation rather than by preference.

Work through them in order and the decision usually makes itself before you reach the end.

Can You Change the Destination After Printing?

The destination is part of the pattern, so with a static QR code, a different destination means a different code. Anything already printed carries on pointing where it always pointed, no matter what you change on your screen afterwards.

WPForms at least stops you shipping a stale file to the printer, since changing the destination marks the QR code you already made as out of date and asks you to generate it again.

Now, changing the destination and changing where an address sends people are two different operations. Only the first one needs a reprint, and the second is the whole reason the section further down exists.

Can You See How Many People Scanned It?

A static QR code generates no scan event anywhere, because nothing in the chain is watching. The phone reads a pattern and opens an address, and no server along the way can tell a camera from a click.

That’s a real limitation, and every competing article is right to raise it. For a form, though, what you want counted is submissions, and those get recorded no matter how the visitor arrived.

Will the Pattern Still Scan When It’s Printed Small?

This is the dimension QR vendors use to make static codes look technically weaker, and the underlying physics is genuine.

QR codes come in 40 defined versions, running from a 21 by 21 module grid up to 177 by 177, gaining four modules per side at each step.

More characters means a higher version, more modules in the same physical square, and smaller individual modules for a camera to resolve.

The practical floor is around 2 by 2 cm, on roughly a 10 to 1 ratio between scanning distance and code width. A static code carrying about 100 characters can need closer to 3 cm where a short vendor redirect still reads at 2 cm.

Density tracks character count rather than code type, so a version 3 or 4 code holds around 134 characters and still scans at business card size, and yoursite.com/get-a-quote is 24 characters.

Point a static code at a tidy slug on your own domain and you land in the same version range as a vendor short link. So the density argument is really an argument for keeping your page slugs short.

Who Has to Keep Paying, and Who Has to Stay in Business?

A static QR code has exactly one dependency, which is that the address still answers when somebody scans it. You control that, and the code costs nothing to keep alive.

A dynamic QR code has two parties who both have to keep functioning. You have to keep the destination live, and the company holding your redirect has to keep the subscription current and the service running.

That’s just how the architecture works, and it’s why the two options aren’t equally durable over a print run that lives on a van for five years.

The Third Option: A Static Code on an Address You Own

Every article ranking for this comparison is published by a company that sells dynamic codes, and I’ll say plainly that I’m writing this one on the blog of a company that ships a static QR code generator for you forms.

With WPForms, you get the no-middleman durability of a static QR code, plus the ability to send scanners somewhere new, because a redirect on your own domain does the same job the vendor’s server was doing.

If there’s a chance the destination of your form will move, you should point your QR code at an address you control and can redirect later, so you can send people somewhere new without reprinting.

Check out our QR Code documentation for more information about this.!

How to Generate a Static QR Code for Your WordPress Form

The setting lives inside the form builder rather than on a separate screen, so you’ll meet it while you’re already editing a form.

Open any form, or start from a pre-built form template, then go to Settings » General and scroll to the bottom of the panel, where you’ll notice a QR Code dropdown set to None.

Left navigation menu with Settings highlighted; right pane shows a General form. A magnified circle reveals QR Code set to None.

The setting works on every license level including WPForms Lite, the free version, so a working code costs nothing. Only the Logo dropdown, which swaps the WPForms mark in the middle for your own, asks for Pro or higher.

Set the QR Code dropdown to Page, then open Destination Page and choose the page your form sits on. The list is searchable, which helps on a site with a lot of pages.

Settings page with left navigation and a QR code generator panel showing Destination Page and a large QR code image.

Only published pages appear there, so if your form is still sitting in a draft, publish it on a page first and it will show up in the list.

You can also select Custom URL instead and type the full address into Destination UR, which is what Form Pages and Conversational Forms do, both on Pro.

If you’re using either of those, the address they generate is what belongs in this field.

Screenshot of a web app settings pages: left navigation with an orange Settings tab, and the right panel showing a QR code generator with Custom URL selected, a large QR code, Destination URL input, Logo selector, and a Generate QR Code button.

After that, click Generate QR Code and wait for the preview to appear. The Download button then takes the place of the generate button and asks you which format you want.

QR code generator interface: sample code preview on the left, destination set to Shop and a Custom Logo on the right, with a Generate QR Code button below.

Choose SVG Vector for anything going to print, because a vector file scales up to banner size without going soft.

PNG Image is the right pick for a screen or an email. Scan the finished code with your own phone once before the file leaves your hands.

How to Measure a Static QR Code Without a Scan Dashboard

If a raw count is a figure you have to put in a report, that’s a legitimate reason to pay for a dynamic code, and nothing below replaces it. What WPForms QR Code does give you is three measurements that sit closer to the outcome.

  • Submissions: Every completed form is recorded with its own timestamp, whether the visitor arrived by camera, by search, or from an email link.
  • Campaign Parameters: A tagged address works perfectly well inside a static code and needs no subscription, so you can tag the destination to tell campaigns apart and separate the vans from the banner.
  • The Path: User Journey, which needs Pro, records the pages somebody moved through before submitting, so you can see whether a scanner filled the form immediately or read two service pages first.

Which One Your Form Actually Needs

If it’s a page on a WordPress site you run, generate a static QR code and keep the redirect in your own hands, because you already own the infrastructure a subscription would rent you.

Then look at what the QR code is being printed on, as the more expensive it is to reprint, the better a static code on a short address you control performs, since over five years the page is far more likely to move than the domain it sits on.

Lastly, if somebody genuinely needs a scan number, pay for a dynamic code and move on.

If what you want to know is how many quote requests came in after the vans went out, your entries already answer that, and the QR code on the van will still work long after any subscription would have lapsed.

Create a Free Static QR Code for Your Form

FAQs About Static vs. Dynamic QR Codes

The difference between static and dynamic QR codes trips people up most often at the point of printing, when the choice stops being theoretical. These answers cover what a dynamic QR code actually is, and what you can and cannot change once the artwork has shipped.

What is the difference between a static and a dynamic QR code?

A static QR code has your destination address encoded directly in the pattern, so a scan goes straight there.

A dynamic QR code has a short address owned by the QR company in the pattern, and that company’s server forwards each scan to whatever destination you currently have configured.

What is a dynamic QR code?

It’s a QR code whose pattern encodes a redirect rather than a destination.

The QR company keeps a record linking its short address to your real page, which is what lets you change the destination later and lets them count scans. That record is the part you pay a subscription for.

Can you change where a static QR code goes after printing?

You can’t change the code, because the address is built into the pattern. You can change what lives at that address though.

If the code points at a page on your own site, a redirect on that URL sends scanners somewhere new without any reprinting.

Can you track scans on a static QR code?

Not directly, because nothing in the chain records a scan as an event.

You can still track what happens after one by tagging the destination with campaign parameters, then watching sessions and form submissions in your analytics.

For a form, that’s closer to the number you care about anyway.

Do I have to pay for a dynamic QR code?

Yes, in almost every practical case where the code matters.

Generating the pattern is free, but the redirect and scan dashboard behind a dynamic code are a hosted service, usually billed monthly against scan volume.

A static code carries no ongoing cost from anyone.

Are static QR codes harder to scan than dynamic ones?

Only when the address inside them is a long one. A longer address needs a higher QR version, which packs more modules into the same square and demands a larger print size.

Point your static code at a short slug on your own domain and the pattern is about as sparse as a vendor short link.

Next, Give Your Form a Page Worth Scanning Into

The work that decides whether a scan turns into a submission happens on the other side of it, so it’s worth building a dedicated landing page for the form rather than dropping it at the bottom of an existing page.

If the code is going on something aimed at winning work, our guide to the lead capture form covers which fields to ask for when somebody is standing in a car park with one hand on their phone.

Build the Form Behind Your QR Code

Ready to build your form? Get started today with the easiest WordPress form builder plugin. WPForms Pro includes lots of free templates and offers a 14-day money-back guarantee.

If this article helped you out, please follow us on Facebook and  X (Twitter) for more free WordPress tutorials and guides.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPForms is funded, why it matters, and how you can support us.

Hamza Shahid

Hamza is a Writer for the WPForms team, who also specializes in topics related to digital marketing, cybersecurity, WordPress plugins, and ERP systems. Learn More

The Best WordPress Drag and Drop Form Builder Plugin

Easy, Fast, and Secure. Join over 6 million website owners who trust WPForms.