Naar de inhoud

tagblick

maandag 10 augustus 2026

Zoeken

Advertentie

Wetenschap & Techniek

Dynamisch of statisch? Het onzichtbare verschil tussen QR-codes

Van buiten zien alle QR-codes er hetzelfde uit. Of een code statisch of dynamisch is aangelegd, bepaalt echter de levensduur, de meetbaarheid en de vervolgkosten. Wat er technisch achter steekt — en wanneer welk type loont.

Dynamisch of statisch? Het onzichtbare verschil tussen QR-codes
IllustratiefotoFoto: schoschie · Openverse · BY-SA

Ze plakken op reclameborden, staan als bordje op restauranttafels en prijken op bijna elke verpakking: QR-codes horen allang bij de dagelijkse praktijk. Van buiten zien de zwart-witte vierkanten er allemaal hetzelfde uit — technisch scheidt hen echter een principiële beslissing die het nut, de levensduur en de vervolgkosten bepaalt: de keuze tussen een statische en een dynamische code. Wie het verschil kent, vermijdt de duurste fout die je met QR-codes kunt maken — de vast ingedrukte vergissing.

Een korte blik op de grondbeginselen helpt bij het begrip. De QR-code — de afkorting staat voor „Quick Response" — werd in 1994 ontwikkeld bij de Japanse auto-toeleverancier Denso Wave, om onderdelen in de logistiek sneller te registreren. Anders dan de klassieke streepjescode slaat hij informatie tweedimensionaal op: de rangschikking van de kleine vierkantjes, modules genaamd, codeert de eigenlijke gegevens. Drie opvallende hoekvierkanten helpen de camera de code in willekeurige stand en vanuit willekeurige hoek te herkennen. Hoe meer gegevens erin moeten, hoe fijner het raster wordt — en hoe veeleisender de scan.

Ingebouwd is bovendien een foutcorrectie volgens de Reed-Solomon-methode. Die zorgt ervoor dat een code ook leesbaar blijft wanneer delen ontbreken of bedekt zijn — afhankelijk van het gekozen correctieniveau mag tot ongeveer 30 procent van het oppervlak beschadigd zijn. Daarom werken ook bekraste codes aan de parkeerautomaat nog, en daarom laat zich in het midden van veel codes een logo plaatsen zonder de leesbaarheid te vernielen. Die reserve is echter eindig: wie logo, ongebruikelijke kleuren en fijnmazige patronen combineert, teert er gezamenlijk op in. Vóór het drukken hoort elke vormgegeven code daarom op meerdere telefoons, oudere apparaten inbegrepen.

Daarmee naar de eigenlijke wisselstand. Een statische QR-code vertaalt de informatie rechtstreeks in het patroon. Een webadres, een korte tekst, een telefoonnummer, een e-mailadres, de toegangsgegevens van een wifinetwerk of een digitaal visitekaartje in vCard-formaat — dat alles wordt onmiddellijk in de code geschreven. Bij het scannen leest de telefoon de gegevens uit het beeld; een server is daarvoor niet nodig.

Daaruit volgen de sterke punten van de statische code: hij is volledig onafhankelijk. Geen dienst hoeft te draaien, geen account te bestaan, geen aanbieder aanwezig te zijn opdat hij werkt. Een statische wifi-code op het prikbord van een vakantiewoning verbindt gasten ook dan met het netwerk wanneer het mobiele netwerk het even laat afweten — de gegevens zitten immers in het beeld zelf. Eenmaal aangemaakt werkt een statische code in principe voor altijd, en hij kost blijvend niets.

Een technisch neveneffect van die bouwwijze wordt in de dagelijkse praktijk vaak over het hoofd gezien: bij de statische code bepaalt de hoeveelheid gegevens de dichtheid van het patroon. Een kort adres levert een grof, goedmoedig raster op; een lang adres met aangehangen campagneparameters of een volledig visitekaartje met adres, bedrijfsnaam en meerdere telefoonnummers jaagt het aantal modules omhoog. Hoe fijner het raster, hoe groter de druk moet uitvallen en hoe beter licht en camera moeten zijn opdat de scan betrouwbaar lukt. Wie statisch werkt, vaart daarom wel bij zuinige inhoud — bij twijfel loont de vraag of een kort adres op het eigen domein de hoeveelheid gegevens in de code kan verminderen. Een dynamische code omzeilt het probleem constructiegewijs: daarin steekt altijd alleen het korte doorstuuradres, ongeacht hoe lang het doeladres erachter is.

Niet elke inhoud leent zich overigens voor beide varianten. Wifi-toegangsgegevens, een vrije tekst of een telefoonnummer zijn naar hun aard statisch — die moeten juist zonder omweg via het internet in de code zitten. De beslissing tussen statisch en dynamisch stelt zich vooral bij webadressen, veruit het meest voorkomende gebruiksgeval.

De zwakte van de statische code is de keerzijde van zijn onafhankelijkheid: wat gedrukt is, is gedrukt. Wijst de code naar een webadres en verhuist de pagina, verandert het domein of sluipt er een tikfout in, dan wordt elk exemplaar waardeloos. Vijfduizend flyers met een dode link laten zich niet achteraf corrigeren — ze laten zich alleen opnieuw drukken. Voor langlevend drukwerk is dat een reëel risico, want webadressen zijn naar ervaring minder duurzaam dan men bij de drukopdracht aanneemt.

Precies hier zet de dynamische QR-code in. Hij codeert niet het eigenlijke doel, maar een kort doorstuuradres op de servers van een aanbieder. Bij de scan roept de telefoon eerst dat adres op; de server stuurt vervolgens door naar het opgeslagen doel. Het beslissende punt: het doel laat zich op elk moment wijzigen zonder dat het gedrukte patroon verandert. De affichecampagne kan tijdens de looptijd naar een nieuwe actiepagina wijzen, de menukaart naar de winterkaart, het programmaboekje naar het geactualiseerde tijdschema — de druk blijft, het doel verhuist.

In de dagelijkse werkpraktijk is die wissel onspectaculair: het nieuwe doel wordt in het account van de aanbieder ingevoerd, en vanaf de volgende scan leidt de code daarheen — het drukwerk blijft onaangeroerd. Dat opent speelruimte die verder gaat dan de loutere foutcorrectie. Een campagne laat zich in etappes voeren: vóór de start wijst de al gedrukte code naar een aankondigingspagina, op de startdatum wordt omgeschakeld naar de actiepagina, na afloop naar een archief of de startpagina — in plaats van dat restanten van de flyer in het niets leiden. Ook het omgekeerde geval is afgedekt: valt na het drukken een tikfout in het opgeslagen doeladres op, dan is die in enkele minuten gecorrigeerd. Bij de statische code zou diezelfde fout definitief zijn.

Hoe dat er in de praktijk uitziet, laat de Duitse webdienst QR2GO zien: daar worden codes rechtstreeks in de browser aangemaakt, naar keuze als statische code of dynamisch met bewerkbaar doel. Een installatie is niet nodig, de gegevens worden op servers in Duitsland gehost.

De flexibiliteit heeft een prijs, en die zou eerlijk benoemd moeten worden: een dynamische code is afhankelijk van zijn doorstuurdienst. Staakt de aanbieder de exploitatie, eindigt het abonnement of wordt het account gewist, dan loopt de gedrukte code in het niets — hoewel het doelaanbod zelf nog bestaat. Wie dynamische codes in langlevend drukwerk zet, zou daarom vooraf moeten uitklaren wat er met bestaande codes gebeurt wanneer een tarief afloopt, en of de kosteloze functieomvang blijvend geldt.

Het tweede grote voordeel van de doorverwijzing: ze schept een meetpunt. Omdat elke scan eerst bij de server van de aanbieder aankomt, laat zich uittellen hoe vaak, wanneer en ongeveer waar een code is gescand. QR2GO bijvoorbeeld analyseert scans in realtime naar apparaattype, regio en tijdstip en vult op verzoek UTM-parameters aan voor de webanalyse, zodat bezoeken in werktuigen als Google Analytics 4 aan de betreffende campagne zijn toe te wijzen. Voor adverteerders beantwoordt dat een oude vraag: welk affiche, welke flyer, welke advertentie heeft daadwerkelijk reacties uitgelokt?

Opdat zulke cijfers dragen, vraagt de inrichting een beetje discipline. Beproefd is het om voor elke reclamedrager een eigen code aan te leggen — één voor het affiche, één voor de flyer, één voor de advertentie in het huis-aan-huisblad — en de UTM-parameters volgens een vast schema toe te kennen, bijvoorbeeld met de drager als bron en de actie als campagnenaam. Pas dat schema maakt de analyse vergelijkbaar: wie de parameters van geval tot geval improviseert, krijgt cijfers die zich later nauwelijks nog zuiver laten toewijzen. De conventie wordt daarom het best vóór de eerste drukopdracht vastgelegd, niet na de derde.

Ook hier hoort een beperking bij. Scanstatistieken zijn bereikcijfers, geen persoonsprofielen — serieuze aanbieders verzamelen ze in overeenstemming met de privacyregels en geaggregeerd. Wie de cijfers echter met een eigen website-analyse als GA4 verknoopt, begeeft zich binnen het toepassingsgebied van de AVG: de doelpagina heeft dan een zuivere toestemmingsoplossing nodig en een privacyverklaring die het volgen vermeldt. De QR-code vervangt geen privacyconcept; hij is er onderdeel van.

Verschillen zijn er ook in de aard van de doorverwijzing. QR2GO biedt drie modi aan: een zichtbare doorverwijzing waarbij gebruikers de tussenstap kunnen herkennen, een verdekte variant die telt en onmiddellijk doorstuurt, en een directe modus zonder omweg via de telling. De keuze is een afweging tussen transparantie en naadloze gebruikerservaring — voor openbaar opgehangen codes pleit het een en ander voor de zichtbare weg, omdat die vertrouwen schept.

Een vaak over het hoofd gezien praktijkpunt is het bestandsformaat. PNG-bestanden zijn rasterafbeeldingen: voor beeldschermen en kleine drukwerken volstaan ze, bij sterk vergroten worden de randen echter onscherp — en onscherpe randen verslechteren de leesbaarheid. Voor drukkerijen, affiches en bewegwijzering zijn vectorformaten als SVG of PDF de betere keuze, omdat ze verliesvrij schalen. Bij QR2GO zit de PNG-export in het kosteloze tarief; hoge-resolutie-exports horen bij de premiumomvang.

Bij het drukken hoort een tweede, onopvallende eis: de rustzone. Bedoeld is de witte rand rondom de code, die de camera nodig heeft om het patroon van de omgeving te scheiden. In opmaakprogramma's wordt die graag weggesneden, omdat hij op weggegeven ruimte lijkt — met als gevolg dat een technisch onberispelijke code op het afgewerkte affiche onbetrouwbaar scant. Wie zeker wil zijn, bestelt een proefdruk op eindformaat en test die onder reële omstandigheden: van een afstand, bij slecht licht, met meerdere telefoons. Welke vormgevings- en exportopties daarbij ter beschikking staan, somt het functieoverzicht van de aanbieder op — de testplicht neemt geen daarvan je uit handen.

Wanneer dus welk type? Statisch is de juiste keuze wanneer het doel duurzaam vaststaat en er geen meting nodig is: de wifi-toegangsgegevens in de logeerkamer, het visitekaartje met sinds jaren stabiele contactgegevens, een korte tekst die zonder internetverbinding leesbaar moet zijn. Ook wie principieel geen afhankelijkheid van een dienstverlener wil aangaan, vaart beter met statisch — en aanvaardt daarvoor bewust het herdrukrisico.

Dynamisch loont zodra drukwerk langer leeft dan zijn inhoud of zodra succes meetbaar moet zijn: campagnes met wisselende actiepagina's, menukaarten, catalogi, verpakkingen, bewegwijzering. De vuistregel: hoe duurder de druk en hoe waarschijnlijker een latere wijziging van het doel, hoe sterker de argumenten voor de dynamische code spreken.

Blijft de kostenvraag. Statische codes laten zich met veel werktuigen kosteloos aanmaken, ook blijvend. Dynamische codes veronderstellen een lopende dienst, waarachter serverbeheer staat — gebruikelijk zijn daarom abonnementsmodellen. QR2GO biedt een blijvend kosteloze instap met 20 codeplaatsen en basisvormgeving; het premiumtarief voor 5,99 euro per maand omvat 200 plaatsen, volledige scananalyse, hoge-resolutie-exports en logo-integratie. De details somt het prijsoverzicht op; een vergelijking met andere aanbieders loont in elk geval, want de modellen op de markt verschillen aanzienlijk.

Uiteindelijk is de beslissing tussen statisch en dynamisch geen technische finesse, maar een wisselstand die vóór de eerste drukopdracht zou moeten vallen. Een statische code kost niets en is van niemand — daarvoor blijft hij zoals hij is. Een dynamische code blijft veranderbaar en meetbaar — daarvoor hangt hij aan een dienst. Wie zich die ene vraag op tijd stelt, bespaart zich het lot van talloze drukwerken waarvan de kleine vierkanten in het niets leiden.