Wat is een statische QR-code?
Een statische QR-code versleutelt het bestemmingsadres rechtstreeks in de code. Het patroon van zwarte en witte modules bevat de volledige URL — of de wifi-sleutel, het telefoonnummer of het vCard-contact.
Dat klinkt eenvoudig, maar er kleeft een belangrijk nadeel aan: de code is onveranderlijk. Wil je de URL wijzigen, dan moet je een nieuwe code afdrukken.
Static: QR → "https://my-website.com/old-page"
↑ hardcoded
Wanneer statische codes zinvol zijn
- Wifi-gegevens (veranderen zelden)
- vCard / contactgegevens
- Producten met een vaste URL naar een technisch gegevensblad
- EU Digital Product Passport met een vaste GS1 Digital Link
- Offline omgevingen zonder behoefte aan tracking
Wat is een dynamische QR-code?
Een dynamische QR-code versleutelt alleen een korte doorverwijslink — bijvoorbeeld https://qr3.app/r7f3Kx. Wanneer iemand deze code scant, leidt onze edge worker hem binnen milliseconden door naar de werkelijke bestemmings-URL.
Dynamic: QR → "https://qr3.app/r7f3Kx"
↓ (Cloudflare KV cache, < 5ms)
"https://my-website.com/new-page"
↑ changeable at any time
Voordelen van dynamische QR-codes
- Aanpasbare bestemmings-URL — geen herdruk bij URL-wijzigingen
- Scananalyse — land, apparaat, browser, tijdstempel
- A/B-testen — verschillende bestemmingen voor campagnegroepen
- Geo-redirect — DE-gebruikers → Duitstalige pagina
- Vervaldatum — code wordt na een ingestelde datum gedeactiveerd
- Webhooks — realtime melding bij elke scan
Directe vergelijking
| Statisch | Dynamisch | |
|---|---|---|
| Aanpasbare bestemming | Nee | Ja |
| Analytics | Nee | Ja |
| Scan gate (branding) | Nee | Optioneel |
| AVG-conformiteit | Geen probleem | Ja (IP gehasht) |
| Offline gebruik | Ja | Nee |
| Bestandsgrootte | Kleiner | Groter |
| Serverafhankelijkheid | Geen | Edge worker |
Praktische aanbeveling
Kies dynamisch wanneer:
- De code wordt afgedrukt of in materialen wordt verwerkt
- Je wilt weten hoe vaak en vanwaar er wordt gescand
- Je de bestemmings-URL later mogelijk moet bijwerken (menu, campagne, enz.)
Kies statisch wanneer:
- De gegevens onveranderlijk zijn (wifi, vCard, GS1 DPP)
- Er geen serverinfrastructuur beschikbaar is
- Maximale resolutie / kleinste bestandsgrootte vereist is
Implementeren met qr3.app
import { QR3 } from "@qr3/sdk";
const client = new QR3(process.env.QR3_API_KEY);
// Dynamic QR code
const dynamic = await client.codes.create({
type: "url",
url: "https://my-website.com/menu",
title: "Summer Menu 2026",
is_dynamic: true, // default
});
// Static QR code (e.g. vCard)
const vcard = await client.codes.create({
type: "vcard",
vcard_first_name: "John",
vcard_last_name: "Doe",
vcard_organization: "Example Corp",
// is_dynamic is ignored for non-URL types
});
console.log(dynamic.data.redirect_url); // https://qr3.app/r7f3Kx
console.log(dynamic.data.image_svg_url); // https://qr3.app/v1/codes/r7f3Kx/qr.svg
Conclusie
Dynamische QR-codes zijn voor de meeste toepassingen in print, marketing en retail de juiste keuze. Statische codes behouden hun plek voor technische toepassingen en offline scenario's. Met qr3.app beheer je beide types via dezelfde API en hetzelfde dashboard.