Gratis abonnement, geen creditcard nodigDynamische QR-codes die je na het printen kunt aanpassenGDPR-conforme scananalysesGemaakt voor bureaus, freelancers en interne teamsGratis abonnement, geen creditcard nodigDynamische QR-codes die je na het printen kunt aanpassenGDPR-conforme scananalysesGemaakt voor bureaus, freelancers en interne teamsGratis abonnement, geen creditcard nodigDynamische QR-codes die je na het printen kunt aanpassenGDPR-conforme scananalysesGemaakt voor bureaus, freelancers en interne teamsGratis abonnement, geen creditcard nodigDynamische QR-codes die je na het printen kunt aanpassenGDPR-conforme scananalysesGemaakt voor bureaus, freelancers en interne teams
Alle artikelen
Een QR-code die prima scant (groen vinkje), maar een controle in drie stappen waarbij stap 3 faalt.
Stappenplan

Waarom scant mijn QR-code niet? De 3 oorzaken (en hoe je ze oplost)

QR-code die niet scant? Het zijn bijna altijd drie verschillende problemen: de camera leest het patroon niet, de link is kapot, of de pagina is verplaatst. Loop de drie poorten af, vind de echte fout en los hem vaak op zonder herdruk.

ScanKit

ScanKit · Organization

· 17 min. leestijd

Een QR-code die niet scant, is een bijzonder soort paniek, want tegen de tijd dat je het merkt, staan de codes meestal al in het wild: gedrukt op tienduizend flyers, gelakt op een etalageruit, of gezeefdrukt over een wagenpark vol bestelbussen. Het goede nieuws is dat "niet scannen" zelden één probleem is. Het zijn er drie, en ze gaan op compleet verschillende manieren mis. Bepaal welke van de drie je voor je hebt, en de oplossing dient zich bijna altijd vanzelf aan, vaak zonder een herdruk.

Deze gids is geschreven voor bureaus die QR-campagnes draaien, dus de nadruk ligt op de problemen die drukwerk raken: codes die prima scannen maar op de verkeerde pagina belanden, links die stilletjes zijn gestorven, en het verschil tussen een code die je nog kunt redden en een die je opnieuw moet drukken. De puur fysieke oorzaken (formaat, contrast, een logo dat verkeerd geplaatst is) komen elders uitgebreid aan bod, en daar verwijzen we naar in plaats van ze hier te herhalen. Laten we eerst de fout lokaliseren.

Begin hier: drie vragen die de fout lokaliseren

Bijna elke scanfout zit bij een van drie poorten. Loop ze in volgorde af, want elke poort sluit een ander stel oorzaken uit, en een code kan de eerste twee passeren en alsnog bij de derde sneuvelen.

Diagram met drie genummerde poorten: (1) de camera leest het gedrukte patroon, (2) de link opent, (3) de juiste pagina laadt, elk met een uitgang bij falen.
De drie poorten van een scanfout: de camera leest het patroon, de link opent, de juiste pagina laadt. Bepaal bij welke poort het misgaat en de oplossing volgt vanzelf.
  1. Leest de camera de code überhaupt? Richt een telefoon erop. Als de camera nooit herkent dat er een code is (geen linkbanner, geen trilling, helemaal niets), zit het probleem in het gedrukte beeld zelf: te klein, te weinig contrast, geen marge, beschadigd, of verstikt door een logo. Dit is Poort 1, en dat is natuurkunde.
  2. Leest hij wel, maar opent er niets? De telefoon detecteert de code duidelijk (je krijgt een melding of een aantikbare banner) maar erop tikken levert niets op, geeft een beveiligingswaarschuwing, of blijft hangen. Het patroon is in orde; de link erin is het probleem. Dit is Poort 2.
  3. Opent hij wel, maar laadt de verkeerde of een dode pagina? De code scant, de browser opent, en je krijgt een 404, een verlopen-link-pagina, of simpelweg de verkeerde bestemming. De code deed zijn werk perfect. De bestemming is de fout. Dit is Poort 3, en hier verdienen dynamische codes hun bestaansrecht.

Houd die volgorde de rest van deze gids in je achterhoofd. De meeste supporttickets over een "kapotte QR-code" zijn eigenlijk een Poort 3-probleem, vermomd als een Poort 1-paniek.

Poort 1: de camera leest de code niet

Als geen enkele telefoon de code zelfs maar detecteert, zit er iets aan het gedrukte patroon onder de drempel die een scanner nodig heeft. Dit zijn de drukfysica-oorzaken, en ScanKit heeft volledige gidsen over de twee die het meest uitmaken, dus dit deel is een snelle triage met links in plaats van een herhaling van de stof.

De rustzone ontbreekt of is bijgesneden. De QR-standaard, ISO/IEC 18004, vereist een vrije marge van vier modules (vier "pixels" van de code) aan alle vier de kanten. Ontwerpers snijden er routinematig in, of laten tekst en randen tot aan de rand lopen, en scanners kunnen de grens van de code dan niet vinden. Herstel een marge van vier modules effen achtergrond rondom de code en een verrassend aantal "dode" codes komt weer tot leven.

Hij is te klein gedrukt voor de kijkafstand. Elke code heeft een minimumformaat waaronder de camera de losse modules niet kan onderscheiden. Een gangbare vuistregel is om de code op ongeveer een tiende van de verwachte scanafstand te maken, dus een poster die je vanaf twee meter leest wil een code van rond de 20 cm breed. Voor de volledige methode, inclusief hoe de datadichtheid het minimum verandert, zie hoe groot een QR-code moet zijn.

Het contrast is te laag, of de kleuren zijn omgekeerd. Scanners verwachten donkere modules op een lichte achtergrond. Licht-op-donkere codes, combinaties met weinig contrast (marineblauw op zwart, geel op wit), of een verloop dwars over de modules duwen de detectie allemaal over de grens. Bij twijfel: terug naar een donkere code op een witte rustzone.

Een logo bedekt te veel. Logo's werken omdat QR-codes redundantie meedragen via foutcorrectie, maar slechts tot op zekere hoogte. De vier niveaus herstellen ongeveer 7% (L), 15% (M), 25% (Q) en 30% (H) van de code als die verdekt of beschadigd is. Bedek meer dan het actieve niveau aankan en de code sterft. De volledige afweging, inclusief op welk niveau je moet exporteren, staat in een logo in een QR-code zetten zonder de scan te breken.

De druk zelf is aangetast. Schittering op glanzend of gelamineerd materiaal maakt een witte hotspot die modules wegvaagt. Een JPG-export perst de scherpe zwart-witranden tot pap, dus lever drukcodes altijd aan als vector (SVG, EPS of PDF) of een PNG met hoge resolutie. Gebogen oppervlakken (bekers, flessen, voertuigpanelen) buigen het raster, en fysieke krassen vreten aan de foutcorrectiemarge waar je op rekende.

Als de code Poort 1 doorstaat (elke telefoon detecteert hem betrouwbaar), stop dan met naar het ontwerp kijken. De rest van je probleem is digitaal.

Poort 2: hij leest, maar opent niets

Hier detecteert de camera de code en biedt hij je een link aan, maar erop tikken mislukt. Het patroon klopt, dus opnieuw drukken helpt niet. De fout zit in de URL die de code draagt of de route die hij neemt.

De link is niet beveiligd, of heeft geen schema. Een bestemming die als kale http:// (of helemaal zonder https://) is gecodeerd, kan een "Niet veilig"-waarschuwing oproepen, geblokkeerd worden op beheerde apparaten, of gewoon onbetrouwbaar genoeg ogen dat mensen afhaken. Codeer altijd een volledig uitgeschreven https://-URL. Dit is ook van belang voor vertrouwen bij gedrukte codes, waar de gebruiker de link niet kan zien voordat hij erop tikt. Onze QR-codebeveiliging-gids legt uit waarom een zichtbaar, geverifieerd domein mensen geruststelt op het moment van scannen.

De URL is onjuist opgemaakt. Een verdwaalde spatie, een slim aanhalingsteken dat uit een document is geplakt, een ontbrekend topleveldomein, of een niet-gecodeerd teken levert een code op die wel scant maar nergens op uitkomt. Kopieer bestemmingen als platte tekst, nooit uit een opgemaakt document, en test de exacte tekenreeks voordat hij in de generator gaat.

Een redirect in de keten is kapot. Korte links en getrackte codes werken via redirects: de gescande URL wijst naar een doorstuurservice, die doorverwijst naar de echte pagina. Als een schakel in die keten verkeerd is ingesteld, verlopen is, of naar een dood doel wijst, strandt de gebruiker. Test de hele keten op zowel iOS als Android, niet alleen de eerste link.

De telefoon is offline of zit vast op een captive netwerk. Dit is niet de schuld van je code, maar het duikt voortdurend op bij evenementen en in het openbaar vervoer. Een telefoon die verbonden is met een captive wifi-portaal (zo'n inlogpagina) kan de echte pagina niet laden totdat de gebruiker ofwel inlogt ofwel overschakelt naar mobiele data. Als een code op jouw telefoon werkt maar op een specifieke locatie faalt, verdenk dan eerst het netwerk en niet de code.

Poort 3: hij opent, maar laadt de verkeerde of een dode pagina

Dit is de meest voorkomende fout in een lopende campagne en de meest verkeerd gediagnosticeerde, want de code is foutloos. Hij scant, de browser opent, en dan: een 404, een geparkeerd-domein-pagina, een inlogmuur, of gewoon de landingspagina van vorig seizoen. De bestemming is verplaatst of gestorven onder een code die precies doet wat hem is opgedragen.

De gebruikelijke oorzaken zijn alledaags. De marketingpagina is verwijderd of hernoemd bij een sitemigratie. Het domein van de campagnemicrosite is verlopen. Een URL-structuur is veranderd en niemand heeft de code bijgewerkt. Een externe verkortingsdienst is opgeheven. Of, bij een getrackte code, is het abonnement erachter verlopen en stopte de redirect met werken.

Wat je nu doet, hangt volledig af van één beslissing die je vóór het drukken nam.

Als de code statisch is, is de bestemmings-URL in het gedrukte patroon zelf gebakken. Er is geen manier om te veranderen waar hij naartoe wijst. Je enige opties zijn het ding aan de andere kant repareren (de pagina herstellen, het domein verlengen, de exacte oude URL opnieuw aanmaken) of elke code opnieuw drukken met een gecorrigeerde bestemming. Bij een gedrukte campagne die al is verstuurd, is dat duur en traag.

Als de code dynamisch is, wijst het gedrukte patroon naar een korte redirect die jij beheert, en leeft de echte bestemming in een dashboard. Een verkeerde, dode of verouderde bestemming is een aanpassing van één veld: verander het doel, sla op, en elke bestaande gedrukte code komt binnen enkele seconden weer correct uit. Geen herdruk. Dit is het hele argument voor dynamische versus statische codes, en de werkwijze van de oplossing wordt stap voor stap doorlopen in de bestemming van een QR-code wijzigen zonder opnieuw te drukken.

De praktische les voor bureaus: een Poort 3-fout op een statische campagne is een crisis, en diezelfde fout op een dynamische campagne is een klusje van dertig seconden tussen twee vergaderingen door.

Kan een QR-code echt verlopen?

Deze vraag zorgt voor echte verwarring, en het juiste antwoord geven is winst voor je geloofwaardigheid, want de meeste leveranciersblogs maken er een vage brij van. Het eerlijke antwoord is: het hangt af van wat voor code je hebt gedrukt.

Een statische code verloopt nooit vanzelf. De URL is rechtstreeks in het zwart-witpatroon gecodeerd, dus de code blijft werken zolang de pagina op die URL bestaat. Er is geen klok en geen abonnement. Als een statische code stopt met werken, is de pagina verplaatst of gestorven, niet de code.

Een dynamische code kan in feite verlopen, want hij is afhankelijk van een actieve redirectdienst. Als het abonnement of account achter die redirect verloopt, stopt de korte link met doorsturen en wijst elke gedrukte code naar een doodlopende weg. Dit is geen tekortkoming van dynamische codes; het is de prijs van de flexibiliteit waarmee je bestemmingen na het drukken kunt veranderen. De conclusie is simpelweg: houd het account dat een gedrukte campagne aandrijft actief zolang die codes in omloop zijn, wat voor een gedrukt middel jaren kan zijn.

Dus "QR-codes verlopen" is half waar en half mythe. Het patroon rot nooit weg. De dienst achter een dynamische code wel, als je het account laat verlopen.

"Hij werkt op mijn telefoon maar niet op die van hen"

Wanneer een code voor jou scant maar voor een collega of klant faalt, is de code bijna nooit het probleem. Het is het apparaat.

Op de iPhone werkt scannen rechtstreeks vanuit de Camera-app al sinds iOS 11. Als een recente iPhone niets doet wanneer je hem op een code richt, is de meest waarschijnlijke oorzaak dat het scannen van QR-codes is uitgezet onder Instellingen, dan Camera, dan QR-codes scannen. Zet hem aan. Heel oude iPhones onder iOS 11 hebben een scanner-app van derden nodig.

Op Android scannen de meeste telefoons met Android 8 of 9 en hoger vanuit de standaardcamera, en waar dat niet lukt, neemt Google Lens het over. Een gebruiker met een oudere Android-versie, of een die een camera-app van derden zonder QR-detectie gebruikt, sneuvelt op een code die overal elders prima scant.

Dus wanneer één enkele gebruiker een "kapotte" code meldt, controleer dan zijn OS-versie en de QR-instelling van de camera voordat je het ontwerp aanraakt. Een code die op een reeks apparaten scant, is een werkende code, en achter één verouderd toestel aanjagen stuurt je iets opnieuw ontwerpen dat nooit fout was.

Test een QR-code goed voordat hij naar de drukker gaat

Bijna elke pijnlijke scanfout is te voorkomen met een paar minuten testen op de proefdruk, niet op het ontwerpbestand. Voordat een code naar een drukker gaat, haal hem door dit heen:

  1. Scan de echte gedrukte proefdruk, niet het ontwerp op het scherm. Druk hem op definitief formaat, op het definitieve materiaal, en scan hem onder de verlichting waarin hij gaat leven. Glanzend laminaat en gedempt winkellicht veranderen allebei het resultaat.
  2. Test op minstens één iPhone en één Android-toestel. De standaardcamera's op beide platforms gedragen zich net iets anders, en je wilt een platformspecifieke fout nú betrappen.
  3. Loop de hele redirectketen af. Bevestig dat de code op de exacte, definitieve https://-bestemming uitkomt, niet op een staging-URL of een oude versie van de pagina.
  4. Scan vanaf de echte afstand. Lees een poster vanaf de andere kant van een ruimte en een flyer op armlengte, passend bij hoe mensen hem daadwerkelijk gaan gebruiken.
  5. Bevestig dat scans worden geregistreerd. Als de code bedoeld is om getrackt te worden, scan hem dan een paar keer en controleer of de teller oploopt. Een code die scant maar niets logt, is een meetfout, behandeld in welke scanstatistieken ertoe doen en, voor de valkuil "scans verschijnen als direct verkeer", in QR-codescans in Google Analytics 4.

Bouw dat in de goedkeuringsstap in en Poort 1- en Poort 2-fouten houden in feite op met voorkomen op je campagnes. Poort 3 pak je aan door dynamische codes te drukken, dus de ene faalmodus die je niet kunt wegtesten, is ook de ene die je in seconden kunt oplossen.

Veelgestelde vragen

Waarom scant mijn QR-code niet?

Werk drie poorten in volgorde af. Eerst: detecteert een telefooncamera de code überhaupt? Zo niet, dan is het gedrukte beeld het probleem (te klein, te weinig contrast, een ontbrekende marge van vier modules, of bedekt door een logo). Ten tweede: detecteert hij de code wel, maar opent er niets? Dan is de gecodeerde link kapot of onveilig. Ten derde: opent hij de verkeerde of een dode pagina? Dan is de code in orde en is de bestemming verplaatst of gestorven. De meeste fouten in de praktijk zijn van het derde type.

Waarom scant mijn QR-code wel maar gaat hij naar de verkeerde pagina?

De code werkt correct; zijn bestemming is eronder veranderd. De pagina is verwijderd of hernoemd, het domein is verlopen, of de URL-structuur is veranderd bij een site-update. Als de code dynamisch is, kun je hem in seconden in een dashboard naar de juiste URL laten wijzen, zonder herdruk. Is hij statisch, dan is de URL in het patroon gebakken en moet je ofwel de oude pagina herstellen ofwel opnieuw drukken.

Kan een QR-code verlopen?

Een statische QR-code verloopt niet, want de URL is rechtstreeks in het patroon gecodeerd en werkt zolang die pagina bestaat. Een dynamische QR-code kan stoppen met werken als het abonnement of account achter zijn redirect verloopt, want de korte link heeft dan niets meer om naar door te sturen. Houd het account dat een gedrukte campagne aandrijft actief gedurende de hele levensduur van die gedrukte codes.

Hoe repareer ik een QR-code zonder hem opnieuw te drukken?

Alleen dynamische codes zijn te repareren zonder herdruk. Omdat het gedrukte patroon naar een redirect wijst die jij beheert, verander je de echte bestemming in een dashboard en wordt elke bestaande code binnen seconden bijgewerkt. Bij statische codes zit de URL ingebakken, dus de enige oplossingen zijn de bestemming aan de andere kant repareren of opnieuw drukken. Dit is de belangrijkste reden waarom bureaus dynamische codes drukken voor alles wat naar fysieke media gaat.

Hoeveel van een QR-code mag beschadigd zijn en toch nog scannen?

Dat hangt af van het foutcorrectieniveau dat is ingesteld toen de code werd gegenereerd. De vier niveaus herstellen ongeveer 7% (L), 15% (M), 25% (Q) en 30% (H) van de code. Een code op niveau H kan tot ongeveer 30% van zijn oppervlak verliezen aan schade, vuil of een logo en toch nog scannen, en daarom wordt hoge foutcorrectie aanbevolen voor codes die in ruwe omgevingen gaan leven.

Waarom wil mijn iPhone een QR-code niet scannen?

Scannen vanuit de Camera-app werkt vanaf iOS 11. Als er niets gebeurt, open Instellingen, dan Camera, en zet QR-codes scannen aan. Houd de telefoon stil en vul meer van het beeld met de code. iPhones ouder dan iOS 11 hebben een aparte scanner-app uit de App Store nodig.

Waarom wil mijn Android-telefoon een QR-code niet scannen?

De meeste telefoons op Android 8 of 9 en hoger scannen vanuit de standaardcamera. Lukt dat bij de jouwe niet, open de code dan met Google Lens, dat in recente Android-versies en in de Google-app zit. Camera-apps van derden missen soms QR-detectie, dus probeer de standaardcamera of Lens voordat je aanneemt dat de code kapot is.

Moet een QR-code https gebruiken?

Ja, in de praktijk wel. Codeer een volledig uitgeschreven https://-bestemming. Een kale http://-link kan een "Niet veilig"-waarschuwing oproepen, geblokkeerd worden op beheerde apparaten, en het vertrouwen ondermijnen op het moment dat iemand een gedrukte code scant die hij niet vooraf kan bekijken. Een veilig, herkenbaar bestemmingsdomein helpt mensen ook zich veilig te voelen bij het scannen, wat net zo belangrijk is voor conversie als voor beveiliging.

Waarom werkt dezelfde code wel op mijn telefoon maar niet op die van iemand anders?

Dat is bijna altijd een verschil tussen apparaten, geen fout in de code. De andere telefoon draait misschien een OS dat te oud is voor scannen vanuit de camera, heeft de QR-instelling van de camera uitgezet, of gebruikt een camera-app van derden zonder QR-detectie. Als een code betrouwbaar scant op meerdere actuele apparaten, is het een werkende code, en moet je het falende toestel oplossen in plaats van het ontwerp opnieuw te maken.

De korte versie

Een QR-code die niet scant, zijn eigenlijk drie verschillende problemen. Bij Poort 1 kan de camera het gedrukte patroon niet lezen, wat een fysiek probleem is: formaat, contrast, de rustzone van vier modules, foutcorrectie, of een zwaar logo. Bij Poort 2 leest de code wel maar is de gecodeerde link kapot of onveilig, dus controleer op een ontbrekende https://, een onjuist opgemaakte URL, of een dode redirectschakel. Bij Poort 3 leest en opent de code wel, maar is de bestemming verplaatst of gestorven, wat bij een statische code een herdruk betekent en bij een dynamische code een aanpassing van één veld die elke gedrukte kopie in seconden repareert.

Dat laatste punt is het strategische voor bureaus. Je kunt een pagina die zes maanden na het versturen van de flyers wordt verwijderd niet wegtesten, maar je kunt er een non-event van maken door dynamische codes te drukken waarvan jij de bestemming beheert. Scan vóór je volgende oplage de gedrukte proefdruk op zowel een iPhone als een Android, loop de redirect af naar de definitieve https://-pagina, bevestig dat de scans worden gelogd, en druk de campagne op dynamische codes zodat elke toekomstige Poort 3-verrassing een oplossing van dertig seconden is en geen herdruk.

Delen

Verder lezen