Short answer: no. Not the one on the paper.

A static QR code stores its content inside the pattern itself. Changing what it says means changing the arrangement of black and white squares — and a printed square does not rearrange itself. The only edit available is printing a new one.

That sounds like a limitation, and sometimes it is. But it is also the reason these codes are free, work offline, and cannot stop working because a company changed its pricing.

What is actually fixed

Everything you typed in. The URL, the Wi-Fi password, the phone number, every field of a vCard. All of it is encoded in the pattern.

What is not fixed is what happens at the other end. And that distinction is the whole answer to this question.

The standard way around it

Point the code at a web page you control, then change the page.

The code says "go to example.com/menu" forever. What lives at example.com/menu is entirely up to you, and you can change it at 3am from your phone. The printed code never needs to change because it was never carrying the menu — only the address of the menu.

Encode thisAnd you can change
A link to your menu pageThe prices, the dishes, the whole menu
A link to a review pageWhich platform you point people at
A link to a booking formThe form, the questions, the calendar
A link to a landing pageThe promotion, the campaign, everything

This works with any page you can edit: your own site, a Google Doc set to public, a Notion page, a Linktree, a Google Form.

What cannot be indirected

Some things have to be in the code itself, and those genuinely cannot be changed after printing:

  • Wi-Fi codes. The password is in the pattern. New password means new code and new cards.
  • vCard codes. New number, new company, new title — new code.
  • SMS and phone codes. The number is baked in.
  • Plain text codes. The text is the code.

For these, the planning question before you print is simply: how likely is this to change within the life of the printed thing? If your job title might change before the box of business cards runs out, leave the job title off the card.

What about dynamic QR codes?

Some services sell dynamic codes. These encode a short link on their domain, which redirects to wherever you point it, and you can change the destination from a dashboard.

That is a real convenience, and it comes with real costs:

  • It is a subscription. Stop paying and the redirect stops. Every printed code becomes a dead link.
  • The domain is theirs. If the service shuts down or the domain lapses, so do your codes.
  • It needs a connection. Two hops instead of one, and nothing works offline.
  • They see every scan. That is how the analytics work, and it means scan data about your customers sits with a third party.

If you want that trade, it is a legitimate one. But you can get most of the benefit by pointing a free static code at your own domain — you keep the ability to change the destination, and nobody can switch it off.

We only make static codes, for exactly that reason. Ours have no expiry, no scan limit, and no dependency on us continuing to exist.

Before you print anything in volume

  • Use a URL you control and will keep controlling
  • Prefer a short, permanent path — /menu ages better than /menu-october-2026-final
  • Avoid links from platforms that might reorganise their URLs
  • Check the whole thing works, using the pre-print checklist
  • Note down where every printed copy ends up, so you can find them all if something does have to change

Make a static code — free, permanent, and yours.