QR-Code-Fehlerkorrekturstufen erklärt

Jeder QR-Code trägt mehr Daten, als seine eigentliche Nutzlast braucht, und zwar mit Absicht. Diese zusätzlichen Daten sind Redundanz: ein mathematisches Verfahren, mit dem ein Dekoder die ursprüngliche Nachricht rekonstruieren kann, selbst wenn ein Teil des gedruckten Codes fehlt, verschmiert ist oder unter schlechten Bedingungen gescannt wird. Wie viel Redundanz hinzukommt, ist eine Entscheidung, die bei der Erzeugung zwischen vier Standardstufen fällt: L, M, Q und H. Keine davon ist einfach „die gute“ – jede sitzt an einem anderen Punkt eines echten Kompromisses, und welche die richtige ist, hängt davon ab, wo der Code am Ende wirklich lebt.

Was L, M, Q und H bedeuten

Die vier Stufen sind von der geringsten zur höchsten Redundanz geordnet: L (Low) trägt die kleinste Menge an Fehlerkorrekturdaten, M (Medium) mehr, Q (Quartile) noch mehr und H (High) am meisten von allen. Ein Code auf einer höheren Stufe verträgt anteilig mehr Beschädigung, Verdeckung oder Fehllesung seines gedruckten Musters und dekodiert trotzdem korrekt zur exakten ursprünglichen Nutzlast. Das ist kein vages Etikett „zuverlässiger“, sondern eine konkrete, bezifferte Kapazität: Der QR-Standard (ISO/IEC 18004) gibt jeder Stufe eine ungefähre Wiederherstellungskapazität an Codewörtern von L ≈7%, M ≈15%, Q ≈25%, H ≈30% – also den Anteil der Datencodewörter eines Codes, der falsch oder fehlend sein darf und trotzdem korrekt rekonstruiert wird.

Ein Wort der Vorsicht zur letzten Zahl. Die rund 30% Codewort-Wiederherstellung von H und die auf dieser Seite gemessene Obergrenze von 30% Logobreite auf Stufe H sind zwei verschiedene Messungen zweier verschiedener Dinge, die sich zufällig eine Zahl teilen, nicht aufgrund eines Zusammenhangs: Das eine ist ein Anteil an Datencodewörtern, das andere ein Anteil an der physischen Breite eines Codes, den ein Logo verdecken darf. Behandle nicht das eine als Erklärung oder Bestätigung des anderen.

Der Kompromiss, den niemand erwähnt: Höhere Stufen machen den Code größer

Fehlerkorrektur ist nicht umsonst, und der Preis ist kein Preis in Geld, sondern Dichte. Die auf einer höheren Stufe hinzugefügten redundanten Daten belegen echten Platz im Code, also enthält ein Code, der bei gleicher Nutzlast auf H erzeugt wird, mehr Module im selben Symbol als dieselbe Nutzlast auf L. In der Praxis zeigt sich das meist als Sprung auf eine größere Version des QR-Formats, um die zusätzlichen Daten unterzubringen. Der gedruckte Code muss dann physisch größer sein, damit jedes Modul auf einem gegebenen Betrachtungsabstand auflösbar bleibt, genau nach der 10:1-Regel für die Größe. Ein Code mit einer langen URL kann auf H merklich dichter ausfallen und damit eine größere Mindestdruckgröße brauchen als dieselbe URL auf L. H standardmäßig „zur Sicherheit“ zu wählen hat einen echten Preis, wenn es gar nicht nötig ist.

Warum das besonders für Logos zählt

Dieselbe Redundanz, die Schmierstellen und Kratzer auffängt, ist das, was ein Logo in der Mitte auffrisst, wenn es einen Teil des Codes verdeckt. Ein Logo einer bestimmten Größe ist auf H genau deshalb sicherer als auf L: H hat schlicht mehr Fehlerkorrektur-Budget übrig, nachdem die Verdeckung durch das Logo abgezogen wurde. Deshalb steigen die sicheren Obergrenzen für Logogrößen von L bis H stetig an, statt eine einzige Zahl zu sein, die unabhängig von der Stufe gilt.

Wie du tatsächlich wählst

Nimm H für alles Gedruckte und Physische. Gedrucktes sammelt im Lauf seines Lebens echte Schäden – Ausbleichen, Schrammen, einen Kaffeerand, einen Knick, einen Aufkleber, der halb abgezogen und leicht schief wieder aufgeklebt wurde – und gedruckte Codes lassen sich nach dem Schaden auch nicht reparieren, anders als ein digital gezeigter Code, der einfach neu angezeigt werden kann. Unvermeidlicher physischer Verschleiß und die fehlende Möglichkeit, hinterher nachzubessern, machen das größte Fehlerkorrektur-Budget zur vernünftigen Voreinstellung für Verpackungen, Plakate, Beschilderung, Visitenkarten und alles andere, was den Bildschirm endgültig verlässt.

Nimm M für alles, was auf einem Bildschirm gezeigt wird. Ein Code auf einer Website, in einer E-Mail oder auf einem digitalen Ticket sammelt keine Kratzer und bleicht nicht aus wie Gedrucktes, und er lässt sich mühelos neu erzeugen oder auffrischen, falls doch einmal etwas mit ihm schiefgeht. M gibt eine bequeme Alltagsrobustheit ohne den Dichtepreis von Q oder H, und der kleinere Code fügt sich sauberer in ein Seitenlayout oder einen App-Screen.

Greif zu Q, wenn ein Code gedruckt, aber nicht aus der Ferne betrachtet wird – unser Produktetiketten-Generator nimmt genau deshalb Q als Voreinstellung: Etiketten bekommen auf dem Transport und im Regal Schrammen ab, werden aber aus der Nähe gelesen, nicht quer durch den Raum, weshalb Q als Mittelweg aus Robustheit und Dichte besser passt, als gleich zu H zu springen.

Die Kurzfassung

Höhere Fehlerkorrektur heißt mehr Widerstandsfähigkeit und einen physisch dichteren Code, niedrigere heißt das Gegenteil. Nimm im Zweifel H für alles Gedruckte, M für alles auf einem Bildschirm, und behandle die Wahl als eine Variable in derselben Größenrechnung wie Betrachtungsabstand und Logogröße, nicht als Einstellung, die man ohne Nachdenken auf der Voreinstellung des Generators lässt, ohne sich zu fragen, wo der Code am Ende wirklich landet.

Erstelle kostenlos einen QR-Code mit QRCodeEngine — alle Formate kostenlos, ohne Anmeldung, und jeder Code wird vor dem Download geprüft.