
QR-code foutcorrectie: wat L, M, Q en H betekenen
L, M, Q of H? Het foutcorrectieniveau bepaalt of je QR-code de echte wereld overleeft. We leggen uit wat de vier niveaus echt herstellen, corrigeren de 30%-schademythe en helpen je het juiste niveau kiezen voor scherm, drukwerk, buiten en logo's.
ScanKit · Organization
· 14 min. leestijd
Elke QR-code die je genereert draagt een verborgen instelling die bepaalt of hij de echte wereld overleeft. Het is het foutcorrectieniveau, en de meeste tools verstoppen het achter één letter: L, M, Q of H. Kies de verkeerde en een code die perfect scande op je monitor faalt op een verweerde poster, achter een koffievlek, of op het moment dat een ontwerper er een logo middenin plant. Kies de juiste en datzelfde ontwerp lacht om vuil, schittering en een slechte dag bij de drukker.
Dit is de instelling die slechter wordt uitgelegd dan bijna elke andere. Je leest dat "niveau H je 30% van de code laat beschadigen", wat in enge technische zin klopt en in alles wat telt voor een gedrukte campagne misleidend is. Dit artikel doet dus twee dingen: het vertelt je precies wat de vier niveaus zijn, en het corrigeert de mythe eromheen, zodat je een niveau met opzet kiest in plaats van de standaardinstelling aan het toeval over te laten.
Wat foutcorrectie eigenlijk is
Een QR-code slaat niet alleen je data op. Hij slaat je data op plus een bewust overschot aan redundante informatie, zo berekend dat een scanner het origineel kan herbouwen, zelfs als een deel van het symbool onleesbaar is. De wiskunde erachter is Reed-Solomon foutcorrectie, dezelfde familie codes die ervoor zorgt dat een bekraste cd nog afspeelt en een ruimtesonde diep in de ruimte nog naar huis belt. Denso Wave, het bedrijf dat de QR-code uitvond, bouwde dit vanaf het begin in, juist omdat de codes bedoeld waren om van vuile fabrieksonderdelen te worden gelezen, niet van smetteloze schermen.
Het mechanisme is de moeite waard om te begrijpen, want het verklaart alles wat volgt. Je data wordt opgesplitst in blokken, en elk blok krijgt een batch extra "foutcorrectie-codewoorden" erbij. Wanneer een scanner een beschadigde code leest, gebruikt hij die extra codewoorden om te detecteren welke delen fout zijn en ze te reconstrueren. Hoe meer redundantie je toevoegt, hoe meer schade hij kan opvangen, maar hoe groter en dichter de code wordt. Die afweging is het hele verhaal.
De vier niveaus, en wat elk echt herstelt
De standaard die QR-codes regelt (ISO/IEC 18004, voortgekomen uit het oorspronkelijke ontwerp van Denso Wave) definieert vier foutcorrectieniveaus. Elk wordt aangegeven als het geschatte aandeel van de totale codewoorden van de code dat hersteld kan worden als het verloren of beschadigd raakt.
- Niveau L (Low): ongeveer 7% herstel. De magerste optie. Het best waar je weet dat de code schoon blijft: een scherm, een slide, een video, een digitale advertentie.
- Niveau M (Medium): ongeveer 15% herstel. De allround standaard, en het niveau dat de meeste generators kiezen als je de instelling nooit aanraakt. Goed voor gewoon binnendruk: flyers, menukaarten, visitekaartjes, verpakkingsinserts.
- Niveau Q (Quartile): ongeveer 25% herstel. De keuze voor buiten en zware slijtage. Raamstickers, stoepborden, voertuigbelettering, alles wat weer en hantering moet doorstaan.
- Niveau H (High): ongeveer 30% herstel. Het maximum. Gereserveerd voor zware omstandigheden en, in de praktijk, voor elke code met een logo erin.
Die percentages zijn harde specificatie, recht uit de eigen documentatie van Denso Wave. Het advies bij elk niveau is de vuistregel uit de branche die eromheen is gegroeid, en die deugt, maar bij de percentages gaat het mis. Voordat je "30%" als een schademarge behandelt, lees dus de volgende sectie, want het betekent vrijwel zeker niet wat je denkt.
De "30% schade"-mythe, gecorrigeerd
Hier is de bewering die je overal ziet: kies niveau H en je kunt 30% van de QR-code beschadigen, afdekken of verliezen en hij scant nog steeds. Het klinkt als een vrijbrief om een kwart van het ontwerp met een logo te overplakken. Dat is het niet, en dat geloven is precies hoe mooie codes onscanbaar worden.
Drie dingen zijn tegelijk waar, en samen prikken ze de mythe door.
Ten eerste wordt het percentage gemeten in codewoorden, niet in fysiek oppervlak. Denso Wave is er duidelijk over dat het cijfer een "data restoration rate for total codewords" is. Een codewoord is een blok van acht modules (de kleine vierkantjes), en ze zijn verspreid en verweven over het hele symbool, niet netjes in een raster gelegd waar je een hoek uit kunt snijden. "30% van de codewoorden" valt dus niet netjes samen met "30% van het vierkant dat je ziet".
Ten tweede zijn er delen van de code die op geen enkel niveau hersteld kunnen worden. De drie grote vierkanten in de hoeken zijn de zoekpatronen, en de lijnen daartussen zijn de timingpatronen. Daarmee lokaliseert en richt een scanner de code in de eerste plaats. Beschadig die en er is geen decodeerstap meer om te bereiken, foutcorrectie of niet. De redundantie beschermt je data, niet de structuur waarmee een camera de code vindt.
Ten derde gedraagt schade in de echte wereld zich slechter dan de theorie. De zorgvuldigste openbare test hiervan, door ingenieur Huon Wilson, genereerde duizenden codes en beschadigde ze geleidelijk. Niveau H-codes stopten doorgaans met scannen zodra de schade ruwweg 20% van het oppervlak passeerde, ruim onder de geadverteerde 30%, en de lagere niveaus faalden nog eerder. De eerlijke lezing is dat de percentages de niveaus correct rangschikken (H is echt veel taaier dan L; Wilson zag duidelijk meer H-codes schade overleven dan L-codes) maar dat de getallen een theoretisch plafond zijn, geen praktijkmarge. Reken op minder, en laat schade nooit een hoek raken.

Het diagram hierboven toont de vier niveaus naast elkaar. Lees het zo:
- Niveau L draagt de minste redundantie, dus de code is het losst en de centrale vrije ruimte voor een logo is het kleinst.
- Niveau M voegt genoeg ruimte toe voor alledaags drukwerk zonder de code veel groter te maken.
- Niveau Q verhoogt de dichtheid merkbaar en koopt zo echte buitenduurzaamheid.
- Niveau H propt de meeste redundantie erin, en dat is wat een gecentreerd logo eroverheen laat zitten zonder de scan te breken, ten koste van de drukste, dichtste code van de vier.
Wat hogere correctie je kost
Redundantie is niet gratis. Om meer te herstellen moet de code meer dragen, en voor een vaste hoeveelheid data betekent dat meer modules. Een QR-code groeit in vaste stappen die versies heten, van versie 1 met 21 bij 21 modules tot versie 40 met 177 bij 177, met vier modules per zijde extra bij elke stap. Schroef de foutcorrectie op en je schroeft de versie op, want de extra codewoorden moeten ergens heen.
De omvang van die straf is reëel. De eigen cijfers van Denso Wave laten zien dat het bereiken van de hogere correctieniveaus de codewoord-overhead ruwweg verdubbelt. Voor een vaste payload zetten Wilsons metingen een niveau H-code op ruim meer dan het dubbele aantal modules van de equivalente niveau L-code. Andersom bekeken vreet foutcorrectie aan hoeveel je kunt opslaan: een versie 1-symbool bevat 41 numerieke tekens op niveau L maar slechts 17 op niveau H. Wil je het volledige plaatje van die afweging, dan loopt onze gids over hoeveel data een QR-code kan bevatten de versietabellen door.
Waarom maakt dat uit voor een gedrukte campagne? Omdat meer modules op hetzelfde fysieke formaat kleinere modules betekent, en kleinere modules zijn lastiger voor een telefooncamera om scherp te krijgen, vooral op afstand of bij slecht licht. Alles op H zetten "voor de zekerheid" kan dus averechts werken: je ruilt theoretische schadetolerantie in voor een dichtere code die een voorbijganger nauwelijks gescand krijgt. Dit is dezelfde spanning tussen dichtheid en leesbaarheid die we behandelen in hoe groot een QR-code moet zijn, en foutcorrectie is een van de knoppen die daarop ingrijpt.
Welk niveau je echt moet kiezen
Strip de theorie weg en de beslissing is kort. Stem het niveau af op waar de code gaat leven.
- Op een scherm (digital signage, een slide, een e-mail, een video), gebruik L. Er is geen vuil om van te herstellen, en de magerere code leest sneller en van verder weg. Hogere niveaus zijn hier pure kosten zonder baat.
- Voor gewoon binnendruk (flyers, menukaarten, brochures, visitekaartjes) is M de juiste standaard en degene die de meeste tools al kiezen.
- Voor buiten- of veelhanteerde plaatsingen (ramen, stoepborden, voertuigen, bewegwijzering die weer en aanraking moet doorstaan), ga omhoog naar Q. Twijfel je tussen M en Q voor iets dat buiten staat, kies dan Q; de extra grootte is bescheiden en de duurzaamheid is het waard.
- Voor zware omgevingen of elke code met een logo, gebruik H. De meeste branded-QR-tools forceren H (of minstens Q) automatisch zodra je een logo toevoegt, want het logo is voor de scanner simpelweg schade die hij moet herstellen.
Merk op dat "altijd H gebruiken" niet op de lijst staat. Het is een veelvoorkomende reflex en meestal de verkeerde. Op een schoon scherm geeft H je een dichtere, lastiger te lezen code in ruil voor schadebescherming die je nooit nodig hebt.
Logo's, en het niveau dat ze mogelijk maakt
De enkele meest voorkomende reden dat een bureau om deze instelling geeft, is het logo. Een klant wil zijn merk middenin de code, en foutcorrectie is wat dat laat werken: de scanner behandelt de afgedekte modules als schade en herbouwt ze uit de redundantie elders. Daarom vereist logoplaatsing in feite niveau H, en daarom: hoe meer van de code je logo verbergt, hoe minder ruimte overblijft voor de echte slijtage die de code in het veld tegenkomt.
De werkregel is om het logo gecentreerd te houden, er niet meer dan ongeveer een vijfde van de code mee af te dekken, een beetje vrije marge rond het merk te laten, en het nooit over de drie zoekpatronen in de hoeken te laten kruipen. Behandel het foutcorrectiebudget als gedeeld tussen het logo en de echte wereld: een logo dat het meeste opvreet laat niets over voor een veeg of een slechte camerahoek. We behandelen de volledige methode, inclusief kleur en contrast, in een logo in een QR-code zetten zonder de scan te breken.
Het korte-URL-voordeel waar je omheen kunt ontwerpen
Hier is een hefboom die velen missen, en het is de ene plek waar het soort code dat je gebruikt de wiskunde verandert. Zowel foutcorrectie als datalengte schroeven de versie op. Codeer je een lange bestemmings-URL rechtstreeks in een statische code, dan besteed je al modules aan die URL voordat je enige redundantie toevoegt, dus niveau Q of H bereiken dwingt een groot, dicht symbool af.
Een dynamische QR-code omzeilt dit. Hij codeert alleen een kort doorverwijsadres (in ScanKit een compacte /r/-link), en de echte bestemming leeft achter die hop waar je hem op elk moment kunt wijzigen. Omdat de gecodeerde payload piepklein is, heb je reservecapaciteit om aan foutcorrectie te besteden. Het praktische resultaat is dat je niveau Q of H op hetzelfde fysieke formaat kunt draaien zonder dat het aantal modules ontploft, dus je krijgt de duurzaamheid en de logoruimte zonder de leesbaarheidsstraf. Die korte payload is een direct gevolg van hoe versies en capaciteit werken, en het is nog een reden waarom bureaus leunen op dynamische in plaats van statische codes.
Waar foutcorrectie je niet redt
Het is net zo belangrijk om te weten wat deze instelling niet kan oplossen, want grijpen naar een hoger niveau is het verkeerde instinct bij verschillende veelvoorkomende mislukkingen.
Foutcorrectie hanteert plaatselijk verlies: een schaaf, een veeg, modder over één gebied, een logo in het midden. De redundantie ligt verspreid over het symbool, dus een weggeslagen plek kan herbouwd worden uit wat overblijft. Wat het niet aankan is alles wat de hele code in één keer aantast. Door de zon vervaagde inkt, zwak gedrukt contrast en een glanzende laminatie die schittering over het oppervlak werpt: die schaden elke module tegelijk, inclusief de zoekpatronen, en geen enkel foutcorrectieniveau herstelt daarvan. Dat zijn contrast- en afwerkingsproblemen, op te lossen met een donkerdere code op een lichtere achtergrond, een matte afwerking en een fatsoenlijke stille zone, niet met een sprong van M naar H. Onze gids voor drukvoorbereiding behandelt de productiekant, en als een specifieke code faalt, loopt de diagnose voor niet-scannen de gebruikelijke verdachten op volgorde door.
Veelgestelde vragen
Wat zijn de vier foutcorrectieniveaus van een QR-code?
Er zijn er vier: L, M, Q en H. Ze herstellen ruwweg 7%, 15%, 25% en 30% van de totale codewoorden van de code als een deel van het symbool verloren of beschadigd raakt. L is het magerst en past bij schone digitale weergave; H is het robuustst en wordt gebruikt voor zware omstandigheden en voor codes met een logo. M is de gangbare standaard voor gewoon drukwerk.
Hoeveel van een QR-code mag beschadigd raken voordat hij niet meer scant?
Minder dan de geadverteerde percentages suggereren. De cijfers (tot ongeveer 30% op niveau H) verwijzen naar herstelbare codewoorden, niet naar een aaneengesloten stuk van het zichtbare vierkant, en ze sluiten de zoekpatronen in de hoeken uit, die helemaal niet herstelbaar zijn. In gecontroleerde tests faalden niveau H-codes doorgaans zodra de schade ruwweg 20% van het oppervlak passeerde, en lagere niveaus faalden eerder. Behandel de percentages als een rangschikking, geen garantie, en houd schade weg van de hoeken.
Welk foutcorrectieniveau moet ik gebruiken voor een gedrukte QR-code?
Voor gewoon binnendruk zoals flyers en menukaarten is niveau M de verstandige standaard. Voor buiten- of veelhanteerde plaatsingen zoals ramen, bewegwijzering en voertuigen ga je omhoog naar Q. Reserveer H voor zware omgevingen en voor elke code met een logo.
Welk foutcorrectieniveau heb ik nodig voor een QR-code met een logo?
Niveau H, in vrijwel elk geval. Het logo dekt een deel van de code af, en de scanner behandelt die afgedekte modules als schade om te reconstrueren, dus je hebt de hoogste redundantie nodig. Houd het logo gecentreerd, dek er niet meer dan ongeveer een vijfde van de code mee af, en laat het nooit de drie zoekpatronen in de hoeken raken. Veel branded-QR-tools schakelen automatisch over naar H zodra je een logo toevoegt.
Maakt een hoger foutcorrectieniveau een QR-code lastiger te scannen?
Dat kan. Hogere correctie voegt redundante codewoorden toe, wat de code bij dezelfde data naar een hogere versie duwt met meer, kleinere modules. Op een schoon oppervlak is die dichtere code juist lastiger voor een camera om te lezen, niet makkelijker, en daarom heeft niveau L de voorkeur op schermen en is H daar overdreven. Stem het niveau af op de omstandigheden in plaats van het uit reflex te maximaliseren.
Verlaagt foutcorrectie hoeveel data een QR-code kan bevatten?
Ja. De redundante codewoorden nemen ruimte in die anders je data zou bevatten, dus de capaciteit daalt naarmate het niveau stijgt. Een versie 1-code bevat 41 numerieke tekens op niveau L maar slechts 17 op niveau H. De gecodeerde payload kort houden, bijvoorbeeld door een dynamische doorverwijs-URL te gebruiken, laat meer ruimte over voor zowel je data als een hoger correctieniveau.
De korte versie
Foutcorrectie is de redundantie die een QR-code draagt zodat hij leesbaar blijft nadat de wereld zich erover heeft uitgeleefd. Er zijn vier niveaus: L voor schone schermen, M voor gewoon drukwerk, Q voor buiten- en zwaarbelaste plaatsingen, en H voor zware omstandigheden en elke code met een logo. Het beroemde "30% schade"-cijfer is een codewoord-plafond, geen fysiek oppervlak dat je kunt afdekken, de zoekpatronen in de hoeken zijn nooit herstelbaar, en in het veld neigen codes te falen vóór het geadverteerde getal, dus reken voorzichtig. Hogere niveaus kosten je dichtheid en capaciteit, en daarom is "altijd H" de verkeerde standaard en daarom is een korte dynamische URL het waard om omheen te ontwerpen: hij maakt de capaciteit vrij om een robuust niveau op een leesbaar formaat te draaien. Open je QR-tool, zoek de L/M/Q/H-instelling, en stel hem in op waar de code echt gaat leven voordat je het ontwerp naar de drukker stuurt.
Verder lezen

· 13 min. leestijd
QR-code op beurs en evenement: het agency-draaiboek voor leads, tracking en opvolging
Zo zet je QR-codes in op beurzen en evenementen: een trackbare, dynamische code per touchpoint, eerlijke leadcapture met toestemming en snelle opvolging. Het complete draaiboek voor agencies.
Lees meer
· 13 min. leestijd
QR-code menukaart voor restaurants: de complete gids voor bureaus
Een goede QR-code menukaart is sneller dan papier, direct bij te werken en toegankelijk. Praktische gids voor bureaus: alleen-lezen of bestellen-en-betalen, dynamische codes, toegankelijkheid, privacy (AVG) en het meten van scans per locatie.
Lees meer