Create dynamic, trackable QR codes that you can edit after printing. 14+ QR types · Real-time analytics · Custom branding · Link pages. Freemium plan free forever — Normal from $5/mo, Pro from $9/mo. Early-bird offer: register now and get Pro free for 6 months.
Enter your URL and generate a beautiful QR code instantly — free, no account needed. Register to unlock dynamic editing, analytics, WhatsApp, Wi-Fi, vCard types and more.
A dynamic QR code encodes a short redirect address rather than your destination. Scanning it loads that short address, which looks up where the code currently points and forwards the visitor there.
Because the destination lives on a server instead of in the printed squares, you can change it whenever you like — and every code already printed follows the change. A static QR code has the destination baked into the pattern, so changing it means a new code and a new print run. That one difference is why dynamic QR codes can be tracked, scheduled, password-protected, and switched off.
| Static QR code | Dynamic QR code | |
|---|---|---|
| Change the destination after printing | No | Yes |
| Scan analytics | No | Yes |
| Password protection | No | Yes |
| Expiry date | No | Optional |
| Resolves with no server involved | Yes | No |
| Pattern density for long URLs | High | Low |
Yes, on any dynamic code. Edit it in your dashboard and every printed copy resolves to the new address within seconds — packaging, posters, and business cards included.
Yes. Each scan records a timestamp, device type, browser, and approximate location. Nothing personally identifying is stored. How QR scan tracking works.
There is a free plan that stays free, covering dynamic URL and WhatsApp codes with basic analytics and no watermark. Paid plans add the remaining types, bulk generation, and the API.
Not to generate and download a code. An account is what makes a code editable and trackable, because the destination and its scan history need somewhere to live.
Not by default — codes stay live for as long as your account does. Expiry is opt-in per code. Why QR codes stop working.
Roughly a tenth of the distance it will be scanned from, with a clear margin around it. Printing sizes by placement.
From simple URL redirects to rich content pages — we have a QR type for every use case.
Each page below covers one job properly — how that code type works, where to put it, and what to check before you print.
Built for businesses, creators and individuals who need professional QR codes without the complexity.
One Pro plan. Your entire team in one shared workspace. No extra seats to pay for — invite up to 15 colleagues and manage everything together.
Start generating QR codes immediately — register to unlock the full experience.
| Feature | Guest | Registered |
|---|---|---|
| Generate URL QR codes | ✓ | ✓ |
| Download as SVG | ✓ | ✓ |
| Edit destination after printing | — | ✓ |
| Scan analytics & tracking | — | ✓ |
| WhatsApp, Wi-Fi, vCard, Email QR types | — | ✓ |
| Rich text content pages | — | ✓ |
| Logo embedding | — | ✓ |
| Custom colors & branding | Color only | Full |
| Password protection | — | ✓ |
| Expiry dates & fallback URLs | — | ✓ |
| Time-based routing | — | ✓ |
| Link Pages (Linktree-style) | — | ✓ |
| Frame text on QR | — | ✓ |
| Geographic scan tracking (country & city) | — | ✓ |
| Export scans as CSV / PDF report | — | ✓ |
| Bulk QR creation via CSV upload | — | ✓ |
| REST API access (developer) | — | ✓ |
| UTM Campaign Builder | — | ✓ |
| Digital Business Cards with vCard export | — | ✓ |
| Mobile Links (SMS-optimized short URLs) | — | ✓ |
Start on Freemium — free forever. Upgrade to Normal ($5/mo) or Pro ($9/mo) when you need more power.
D-QR is free to use, ad-free, and built with care. A $3 coffee helps us keep the servers running, ship new features, and stay independent.
From restaurants and events to developers and marketers — here's what people are building with D-QR.
"We print QR codes on every table in our café. Being able to update the menu URL without reprinting is a game-changer. Saved us money on reprints within the first week."
"The scan analytics are genuinely useful. I can see which posters at our events get the most attention and optimise our next campaign. And it's completely free — I keep waiting for the catch."
"Integrated it into our product packaging via the REST API. QR codes generate automatically, customers scan to see up-to-date product info. Clean API docs, worked in an afternoon."
Automate QR code creation, update destinations and pull analytics — all from your own apps. Authenticate once, integrate everywhere.
X-Client-ID: qrc_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Authorization: Bearer qrs_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Available Endpoints
POST /api/v1/qrcodes — Body Fields
name requireddestination_url requiredqr_type optional, default: urlcolor_foreground optionalexpires_at optionalCode Examples
Create a QR code (cURL)
curl -X POST https://getdynamicqr.com/api/v1/qrcodes \ -H "X-Client-ID: qrc_your_client_id" \ -H "Authorization: Bearer qrs_your_secret" \ -H "Content-Type: application/json" \ -d '{ "name": "Restaurant Menu", "destination_url": "https://example.com/menu", "qr_type": "url", "color_foreground": "#6366f1" }'
Response (201 Created)
{
"data": {
"id": 42,
"name": "Restaurant Menu",
"uuid": "Ab3x9Z",
"short_url": "https://getdynamicqr.com/q/Ab3x9Z",
"qr_type": "url",
"is_active": true,
"scans_count": 0,
"created_at": "2026-03-01T12:00:00Z"
}
}
Get stats (Python)
import requests headers = { "X-Client-ID": "qrc_your_client_id", "Authorization": "Bearer qrs_your_secret", } r = requests.get( "https://getdynamicqr.com/api/v1/qrcodes/42", headers=headers ) data = r.json() print(data["stats"]["by_country"])
Generate your Client ID & Secret from your profile settings — no waiting, instant access.
Have a question, feature request, or just want to say hello? Fill in the form and we'll get back to you.
Join thousands of businesses and creators using D-QR. Free — no credit card, no ads, no watermarks.