Fehlerkorrekturstufen bei QR-Codes bezeichnen die Menge redundanter Daten, die ein Code mitführt, damit ein Scanner rekonstruieren kann, was verschmiert, verkratzt oder von einem Logo verdeckt ist. Es gibt vier: L, M, Q und H, die grob 7 %, 15 %, 25 % und 30 % des Codes wiederherstellen. Wählen Sie M für die meisten Bildschirme und Kurzlinks und H, wenn ein Logo oder grobe Behandlung am Code zehren wird. Der Preis jeder Stufe ist die Dichte: mehr Module, kleinere Quadrate bei gleicher gedruckter Breite.
Dieser Zielkonflikt ist der Ausgangspunkt der meisten Geschichten von "mein QR-Code lässt sich nicht scannen", und deshalb rechnet dieses Tutorial mit echten Modulzahlen, statt zu beschwichtigen. Wenn Sie noch keinen Code erstellt haben, ist QR-Code erstellen der richtige Ausgangspunkt; dieser Beitrag handelt von der Wahl der Stufe, sobald Sie einen haben.
Was Fehlerkorrektur in einem QR-Code tatsächlich tut
Ein QR-Code speichert Ihre Daten als Bytes, sogenannte Codewörter. Daneben speichert er zusätzliche Codewörter, die mit der Reed-Solomon-Fehlerkorrektur berechnet werden, derselben Mathematikfamilie wie bei CDs. Wenn ein Scanner einen beschädigten Code liest, nutzt er diese zusätzlichen Codewörter, um herauszufinden, welche Daten-Codewörter falsch sind und wie sie hätten lauten sollen.
Die gewählte Stufe bestimmt, wie viele zusätzliche Codewörter es gibt. Denso Wave, das das Format erfunden hat, beschreibt die Fehlerkorrektur-Funktion als vier Stufen und vermerkt, dass eine höhere Stufe die Wiederherstellung verbessert, aber die Datenmenge und damit die Größe des Symbols erhöht. Die Wiederherstellungswerte unten sind die in ISO/IEC 18004 aufgeführten und auf Wikipedias QR-Code-Eintrag wiederholten.
- Stufe L (Low): etwa 7 % der Codewörter wiederherstellbar.
- Stufe M (Medium): etwa 15 %.
- Stufe Q (Quartile): etwa 25 %.
- Stufe H (High): etwa 30 %.
Beachten Sie das Wort "etwa". Der Prozentsatz zählt Codewörter, keinen Farbfleck. Betrachten Sie es als Reparaturbudget, nicht als Schadensgarantie.
Der Dichte-Kompromiss: Warum höher nicht immer sicherer ist
Redundanz muss irgendwo untergebracht werden. Eine höhere Stufe drückt Ihre Daten in ein größeres Symbol. QR-Codes gibt es in den Versionen 1 bis 40, und die Seitenlänge beträgt 17 + 4 x Version Module: Version 1 ist 21 x 21 und Version 40 ist 177 x 177, laut Denso Waves Versions- und Kapazitätstabelle. Der Encoder wählt die kleinste Version, deren Kapazität bei Ihrer gewählten Stufe Ihre Daten aufnimmt.
Bei URLs sind diese Daten Text im Byte-Modus. Version 2 fasst 32 Bytes bei L, 26 bei M, 20 bei Q und 14 bei H. Version 8 fasst 192, 152, 108 und 84. Version 11 fasst 321, 251, 177 und 137.
Die Kosten zeigen sich bei Version 8: 192 Bytes bei L, 84 bei H. Dasselbe Raster, weniger als die Hälfte des Platzes für Ihre URL, weil der Rest Parität ist.
Warum ein dichterer Code schlechter scannt
Ein Handy muss jedes Modul auflösen. Drucken Sie den Code 3 cm breit, ergibt ein Raster mit 33 Modulen Module von etwa 0,9 mm Breite; ein Raster mit 61 Modulen etwa 0,5 mm. Dieselbe Kamera, dasselbe Licht, dieselbe zittrige Hand. Halb so viel Spielraum. Die Größenregeln in wie groß sollte ein QR-Code sein gehen davon aus, dass Sie mit einer vernünftigen Modulgröße arbeiten, und die Dichte ist es, die diese Annahme unbemerkt untergräbt.
Durchgerechnetes Beispiel: Eine URL auf jeder Stufe
Hier das Experiment, das ich durchführe, wann immer jemand sagt, man solle "einfach H einstellen". Ich nahm eine getrackte Kampagnen-URL mit 126 Zeichen: eine Domain, ein Pfad sowie die Parameter utm_source, utm_medium, utm_campaign und utm_content. Dann nahm ich einen Kurzlink mit 25 Zeichen, https://s.elido.me/qr7kP2, als anschauliches Beispiel. Beide im Byte-Modus. Ich habe jeden mit einem Standard-Encoder auf allen vier Stufen kodiert, und die obige Kapazitätstabelle sagt das Ergebnis voraus.
| Stufe | Wiederherstellung | URL mit 126 Zeichen | Kurzlink mit 25 Zeichen |
|---|---|---|---|
| L | ~7% | V6, 41 x 41 | V2, 25 x 25 |
| M | ~15% | V8, 49 x 49 | V2, 25 x 25 |
| Q | ~25% | V9, 53 x 53 | V3, 29 x 29 |
| H | ~30% | V11, 61 x 61 | V4, 33 x 33 |
Zwei Dinge springen ins Auge. Erstens wächst die lange URL von L nach H von 41 auf 61 Module pro Seite, das sind 1681 bis 3721 Module, etwa die 2,2-fache Fläche. Zweitens, und das erwähnt niemand: Der Kurzlink auf der stärksten Stufe H (33 x 33) ist immer noch kleiner als die lange URL auf der schwächsten Stufe L (41 x 41).
Die Nutzlast zählt mehr als die Stufe. Sie können für einen Kurzlink das maximale Reparaturbudget von 30 % kaufen und landen trotzdem bei einem lockereren, gröberen Code als dem "effizienten" Code der Stufe L für die lange URL.
Wann H sinnvoll ist und wann L oder M besser sind
Passen Sie die Stufe an das an, was dem Code tatsächlich widerfahren wird. Allgemeine Vorsicht ist keine Spezifikation.
Wählen Sie H (oder Q), wenn
- Ein Logo oder Markenzeichen in der Mitte sitzt. Es verdeckt Module, die der Scanner rekonstruieren muss.
- Der Code auf Verpackungen, einem Flyer in der Tasche, einem Aufkleber, einem Tisch, der abgewischt wird, oder irgendetwas im Freien gedruckt ist.
- Die Oberfläche rau oder gewölbt ist und Sie die Ausführung nicht kontrollieren können.
- Ein erneutes Scannen nicht möglich ist, etwa bei einem Code auf einem bereits versandten Produkt.
Elidos Hilfeartikel zu QR-Codes sagt dasselbe: Halten Sie ein Logo unter 20 % der Codefläche und wechseln Sie zu H, wenn Sie darüber hinausgehen oder mit Logo drucken.
Wählen Sie L oder M, wenn
- Der Code auf einem Bildschirm erscheint: einer Folie, einer Webseite, einer Checkout-Bestätigung.
- Die URL kurz ist und nichts sie verdecken oder verkratzen wird.
- Der Platz knapp ist und der Code klein bleiben muss, sodass jedes Modul zählt.
M ist der praktische Standard. Denso Wave sagt, es sei die am häufigsten gewählte Stufe, und unser eigener Beitrag QR-Code lässt sich nicht scannen macht denselben Punkt von der Support-Seite aus: H ist der falsche Standard für einen schlichten Code, weil die zusätzliche Dichte mehr fehlgeschlagene Scans verursacht, als der Schutz vor Schäden verhindert.
Ein Hinweis zu Logos: Fehlerkorrektur repariert fehlende Module, sie behebt weder schlechten Kontrast noch Unschärfe noch einen beschnittenen Rand. Die Gestaltungsregeln, wie man das Budget für ein Logo ausgibt, stehen in Design markengerechter QR-Codes, einschließlich der Begründung, warum die drei Eckquadrate unberührt bleiben.
Kurzlinks halten den Code locker (und dynamische QR-Codes nutzen sie)
Das durchgerechnete Beispiel liefert eine Regel, die Sie heute anwenden können: Verkleinern Sie die Nutzlast, bevor Sie die Stufe erhöhen. Ein dynamischer QR-Code tut genau das. Statt das vollständige Ziel zu kodieren, kodiert er einen Kurzlink, und der Kurzlink leitet dorthin weiter, wohin Sie ihn zeigen lassen.
Einen Kurzlink zu kodieren hat drei Auswirkungen auf die Zuverlässigkeit:
- Das Raster bleibt bei einer niedrigen Version, sodass die Module bei jeder Druckgröße groß bleiben.
- Sie können sich Stufe Q oder H für ein Logo oder Druckabnutzung leisten, ohne dass der Code anschwillt.
- Die Tracking-Parameter liegen am Ziel, nicht im Muster, sodass eine Änderung eines Kampagnen-Tags nie einen neuen, dichteren Code erzwingt.
Es gibt einen vierten Vorteil, der mit Dichte nichts zu tun hat: Weil der Code auf einen Kurzlink zeigt, können Sie ihn später umleiten, ohne neu zu drucken, und bekommen Scan-Zahlen gratis. Bei einem statischen Code ist das Ziel ins Muster eingebrannt, sodass der einzige Weg, einen Tippfehler zu beheben, ein neuer Druck ist.
Wenn Sie das an Ihren eigenen Links ausprobieren möchten, lässt Sie der QR-Code-Generator die Stufe pro Code festlegen, mit M als Ausgangspunkt, und Plandetails stehen auf der Preisseite. Erstellen Sie aus demselben Kurzlink einen Code bei M und einen bei H, drucken Sie sie in 3 cm Breite und vergleichen Sie. Ich wette, dass Sie sie mit bloßem Auge kaum unterscheiden können, und das ist der Punkt.
Eine kurze Checkliste vor dem Druck
Gehen Sie sie der Reihe nach durch.
- Kürzen Sie zuerst die URL; belassen Sie die Tracking-Parameter am Ziel.
- Wählen Sie die Stufe anhand der Tabelle: M für Bildschirme und schlichten Druck, Q oder H für Logos und Abnutzung.
- Prüfen Sie die Version, die Ihr Generator gewählt hat. Fragen Sie sich bei einer URL jenseits von etwa Version 10, warum die Nutzlast so lang ist.
- Behalten Sie die Ruhezone: mindestens vier Module leeren Rand auf jeder Seite.
- Drucken Sie in der endgültigen Größe und scannen Sie mit zwei verschiedenen Handys bei normalem Licht.
Schritt 5 fängt ab, was keine Tabelle vorhersagt. Ein Logo, das auf dem Bildschirm klein aussah, kann mehr Module verdecken, als Sie vermuten.
Die Cornerstone-Serie lesen
Dieser Beitrag gehört zum Tutorials-Cluster, und sein Cornerstone ist QR-Code erstellen. Für die Größen- und Abstandsregeln, die entscheiden, ob Ihre Modulgröße ausreicht, siehe wie groß sollte ein QR-Code sein.
Weiterführend im Blog
Häufig gestellte Fragen
Welche Fehlerkorrekturstufe ist für einen QR-Code die beste?
Stufe M ist der sinnvolle Standard: Sie stellt etwa 15 % des Codes wieder her und hält das Raster klein. Denso Wave, der Erfinder des Formats, sagt, M sei die am häufigsten gewählte Stufe. Wechseln Sie zu Q oder H, wenn der Code ein Logo trägt oder auf etwas gedruckt wird, das verkratzt, gefaltet oder im Freien liegen gelassen wird.
Was bedeutet 30 % Fehlerkorrektur bei einem QR-Code?
Es bedeutet, dass ein Code der Stufe H noch dekodiert werden kann, wenn bis zu etwa 30 % seiner Daten-Codewörter unlesbar oder verdeckt sind. Der Code speichert zusätzliche Reed-Solomon-Paritätsdaten, und der Scanner nutzt sie, um das Fehlende zu rekonstruieren. Es ist eine Obergrenze für reparierbare Schäden, kein Versprechen, dass beliebige 30 % der Fläche wegfallen dürfen.
Macht eine höhere Fehlerkorrekturstufe einen QR-Code schwerer scanbar?
Indirekt ja. Höhere Stufen fügen Paritätsdaten hinzu, sodass dieselbe URL eine höhere Version mit mehr, kleineren Modulen braucht. Bei gleicher gedruckter Breite sind kleinere Module für eine Handykamera schwerer aufzulösen. Die Lösung ist eine kürzere Nutzlast, nicht eine niedrigere Stufe bei einem Code, der den Schutz braucht.
Brauche ich Stufe H, um ein Logo auf einen QR-Code zu setzen?
Verwenden Sie H, oder zumindest Q, bei jedem Code mit einem Logo in der Mitte. Das Logo verdeckt Module, und der Scanner behandelt sie als zu reparierenden Schaden. Halten Sie das Logo deutlich unter einem Viertel der Codefläche und fern von den drei Eckquadraten, damit für Abnutzung im Druck noch Reserve bleibt.
Lässt sich ein beschädigter QR-Code noch scannen?
Oft ja, innerhalb der Grenze der Stufe. Ein zerkratzter, verschmierter oder teilweise verdeckter Code wird dekodiert, wenn die verlorene Fläche innerhalb dessen bleibt, was seine Stufe reparieren kann, und die Eckquadrate intakt sind. Ein Code der Stufe L toleriert etwa 7 % Schaden, ein Code der Stufe H etwa 30 %.
Was ist die Standard-Fehlerkorrekturstufe eines QR-Codes?
Der Standard legt keine einheitliche Vorgabe fest; jeder Generator wählt seine eigene, und M ist die häufigste Wahl. Elidos QR-Playground startet bei M, mit L, Q und H über dasselbe Bedienelement verfügbar.
Elido testen
URL einfügen, kurzer Link in Sekunden
Kein Konto nötig. Link bleibt 30 Tage aktiv. Konto erstellen, um ihn dauerhaft zu behalten.
Kostenlos, keine Anmeldung erforderlich · 2 pro Tag