What makes a code dynamic
A dynamic code does not store your website or file. It stores a short address such as qrdot.org/aB3x9k. When someone scans it, our server looks up where that address should go right now and sends the phone there.
The short address is fixed for the life of the code. The destination behind it is a setting in your dashboard. That split is the whole trick: the printed pattern never changes, so you can change everything else.
- You pick the destination when you create the code.
- You can replace it later without touching the print.
- Each scan passes through the short link, which is how scans get counted.
The walkthrough
- 1
Pick a type
Open the generator and choose what the code should open: a website, a PDF, a contact card, a page of links and so on. The type decides which form you fill in next.
- 2
Add the content
Paste the link, upload the file or type the details. The preview on the right shows the page a scanner will see, so you can catch a wrong phone number before anyone else does.
- 3
Design it
Set colors, dot shape and corner style, add a logo and a frame with a short instruction like "Scan to order". The designer flags color pairs that phones struggle to read.
- 4
Download
Choose a format and size. Your first download asks for an email address and starts your plan. After that, the code and its settings live in your dashboard.
Which types can be dynamic
Every type that opens something online goes through the short link, so it is dynamic by default:
- Website: sends the phone straight to any web address.
- PDF: opens a hosted page with your file, ready to read or save.
- Business card: opens a contact page with a button that saves it to the phone.
- Links page: one page with several buttons, like a menu, a booking link and a map.
- Social profiles: your accounts on one page, each with its network's icon.
- Images: a photo album people can swipe through.
- WhatsApp: opens a chat with your number, with an optional first message.
WiFi is the exception. A phone reads the network name and password straight from the printed pattern, with no internet connection yet. Nothing passes through our server, so a WiFi code is always static: it cannot be edited or counted.
Static and dynamic side by side
- What the pattern holds
- Static
- The data itself
- Dynamic
- A short link
- Change it after printing
- Static
- No, reprint it
- Dynamic
- Yes, in the dashboard
- Scan counts
- Static
- No
- Dynamic
- Yes
- Pause, schedule, limit, password
- Static
- No
- Dynamic
- Yes
- Pattern density
- Static
- Grows with the data
- Dynamic
- Stays small
- Needs an active plan to open
- Static
- No
- Dynamic
- Yes
| Static | Dynamic | |
|---|---|---|
| What the pattern holds | The data itself | A short link |
| Change it after printing | No, reprint it | Yes, in the dashboard |
| Scan counts | No | Yes |
| Pause, schedule, limit, password | No | Yes |
| Pattern density | Grows with the data | Stays small |
| Needs an active plan to open | No | Yes |
That last row matters. A dynamic code depends on the short link being served, which is part of the plan. If the subscription ends, scanners see an inactive page until it is renewed.
What to check before you print
- Scan a test print with two phones, one iPhone and one Android, at the distance people will really stand.
- Size: about 2 cm (0.8 in) wide is the floor for a code held in the hand. Scale up roughly 1 cm for every 10 cm of reading distance.
- Contrast: dark modules on a light background. Light on dark and pale gradients fail on some cameras.
- Quiet zone: keep the empty margin around the code. Cropping it is a common cause of codes that do not read.
- Custom short link: if you want qrdot.org/your-name instead of random letters, set it now. It is part of the pattern, so it cannot change after the code is made.
More detail on sizes and materials is in the printing guide.