> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scanova.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Dynamic and Static QR Codes

> The difference between Dynamic and Static QR Codes: where the data lives, what can change after printing, which is tracked, and which types support each.

Every QR Code you make in Scanova is either **Dynamic** or **Static**. The difference is where the information lives, and it decides everything else — whether you can change the QR Code after printing it, and whether you can count the scans.

## The difference in one line

A **Static** QR Code stores its content inside the pattern itself. A **Dynamic** QR Code stores a short Scanova link, and the real destination sits on our side where it can be changed.

|                                                             | Dynamic                                    | Static                           |
| :---------------------------------------------------------- | :----------------------------------------- | :------------------------------- |
| What the pattern holds                                      | A short link that resolves through Scanova | The content itself               |
| Change the destination after printing                       | Yes                                        | No                               |
| Scan analytics                                              | Yes — time, location, device               | No                               |
| Works with no internet connection                           | No                                         | Yes                              |
| Advanced settings (password, scheduling, redirection rules) | Yes                                        | No                               |
| Pattern complexity                                          | Always small, whatever the content         | Grows with the amount of content |
| Needs an active subscription                                | Yes                                        | No                               |

## Why you would pick each one

**Choose Dynamic when the QR Code outlives the decision behind it.** Anything printed, shipped, or mounted — packaging, signage, business cards, a poster campaign — because the destination will eventually need to move and you cannot reprint what is already in the world. It is also the only way to know whether a campaign worked, since a Static code produces no scan data at all.

**Choose Static when the content is the answer and will never change.** A Wi-Fi password on a café wall, a phone number, a plain text label. These work offline, they never expire, and they carry on working whether or not you have a subscription — nothing needs to resolve.

<Warning>
  A Static QR Code cannot be edited once it exists. There is no setting to change, because the content is physically encoded in the pattern — changing it means generating a new QR Code and replacing whatever it was printed on.
</Warning>

## Which types are which

**Quick Codes** are split between the two:

* **Dynamic** — [Website URL](/qr-codes/create/website-url), [Google Maps](/qr-codes/create/google-maps), [App Store](/qr-codes/create/app-store), [App Deep Link](/qr-codes/create/app-deep-link), and [GS1](/qr-codes/create/gs1)
* **Static only** — [Phone Call](/qr-codes/create/phone-number), [Email](/qr-codes/create/email), [Text Message](/qr-codes/create/text-message), [Wi-Fi](/qr-codes/create/wifi), [Plain Text](/qr-codes/create/simple-text), [Event Calendar](/qr-codes/create/calendar-event), and [Contact Card](/qr-codes/create/contact-card)

Website URL is the one type where you choose: Dynamic is selected by default, and Static is available if you want it.

**Pages are always Dynamic.** Anything built in the [page builder](/page-builder/overview) or [AI Studio](/ai-studio/overview) resolves through Scanova by definition, since the landing page is hosted there.

<Note>
  GS1 is the exception to the pattern. It is Dynamic or Static depending on the resolver you pick in step 1 of its wizard — the Scanova resolver and a custom domain are both Dynamic, while the GS1 Global Resolver is Static because GS1's own infrastructure answers the scan. See [GS1 QR Code](/qr-codes/create/gs1).
</Note>

## What only Dynamic can do

Several features exist only on Dynamic QR Codes, for the same underlying reason — they need a server-side step at scan time, and a Static code does not have one:

* [Analytics](/analytics/dashboard) — scan counts, geography, devices, and languages
* [Password protection](/qr-codes/manage/password-protection) and [age restriction](/qr-codes/manage/age-restriction)
* [Scheduling](/qr-codes/manage/scheduling) and [conditional redirection](/qr-codes/manage/conditional-redirection)
* [UTM parameters](/qr-codes/manage/utm-builder) and [custom domains](/qr-codes/manage/custom-domains)

Publishing a Static QR Code and then looking for these will show a notice rather than the setting.

## Related

* [Quick Code vs. full Page](/qr-codes/create/quick-code-vs-page) — the other choice you make at creation, and how it interacts with this one
* [Is Scanova free?](/getting-started/is-scanova-free) — Static QR Codes are free from the website generator; Dynamic needs a trial or subscription
* [When your trial or subscription ends](/billing/trial-and-expiry) — what happens to Dynamic QR Codes when a subscription lapses
* [Creating your first QR Code](/getting-started/first-qr-code) — the creation flow end to end
