Zum Inhalt springen

BlogDaten5 Min. Lesezeit

QR-Code-Fehlerkorrektur und Größe: L, M, Q und H getestet

Eine höhere Fehlerkorrektur lässt einen QR-Code Schäden überstehen, macht ihn aber auch dichter. Wir haben Codes für vier gängige Inhalte in jeder Stufe erzeugt und sie Stück für Stück abgedeckt, bis sie nicht mehr gelesen wurden.

Ein QR-Code mit einem Logo in der Mitte, von einem Handy gescannt, und die Stufen L, M, Q und H.

Jeder QR-Code-Generator fragt nach einer Fehlerkorrekturstufe: L, M, Q oder H. Die übliche Erklärung lautet, dass höhere Stufen einen Code mehr Schaden überstehen lassen. Das stimmt, hat aber einen Preis, der selten erwähnt wird, und die tatsächliche Toleranz ist geringer als die meist genannten Zahlen. Wir haben Codes für vier gängige Inhalte in jeder Stufe erzeugt und sie Stück für Stück abgedeckt, bis unser Leser sie nicht mehr lesen konnte.

Was die Fehlerkorrektur macht

Ein QR-Code speichert seinen Inhalt als Folge von Bytes, Codewörter genannt, und fügt zusätzliche Codewörter hinzu, die daraus per Reed-Solomon-Kodierung berechnet werden, derselben Technik wie bei CDs. Sind einige Codewörter beschädigt, kann der Leser sie mithilfe der zusätzlichen wiederherstellen. Die vier Stufen legen fest, wie viel des Codes dafür verwendet wird:

StufeWiederherstellbare CodewörterÜblicher Rat
L (niedrig)Etwa 7 %Saubere Bildschirme und Dokumente
M (mittel)Etwa 15 %Der übliche Standard
Q (Quartil)Etwa 25 %Druck, Außenbereich, Logos
H (hoch)Etwa 30 %Raue Bedingungen, große Logos
Die Prozentwerte sind die des QR-Code-Standards.

Die zusätzlichen Codewörter belegen Platz, der sonst Inhalt aufnehmen würde. Für denselben Inhalt braucht eine höhere Stufe ein größeres Raster aus Quadraten (Module genannt).

Wie viel größer der Code wird

Vier QR-Codes für denselben Link nebeneinander, in den Fehlerkorrekturstufen L, M, Q und H. Das Raster wächst von 37 mal 37 Quadraten auf Stufe L auf 53 mal 53 auf Stufe H, die Quadrate werden also kleiner und dichter.
Derselbe Link mit 89 Zeichen in den vier Stufen. In gleicher Breite gedruckt, sind die Quadrate des H-Codes 30 % kleiner als die des L-Codes.
InhaltZeichenLMQH
Kurzer Link1925 × 2525 × 2525 × 2529 × 29
WLAN-Zugang6133 × 3333 × 3341 × 4145 × 45
Link mit Tracking-Codes8937 × 3741 × 4149 × 4953 × 53
Visitenkarte20253 × 5357 × 5765 × 6577 × 77
Rastergröße des kleinsten QR-Codes, der den Inhalt in jeder Stufe aufnimmt.

Ein kurzer Link passt in drei von vier Stufen in das kleinste Raster, weil dieses Raster Platz übrig hat. Längerer Inhalt wächst schnell: Die Visitenkarte braucht auf Stufe H 77 × 77 Module, fast die zehnfache Fläche des kurzen Links.

Das zählt, weil eine Kamera das Modul sehen muss, nicht den Code. Bei einem 2,5 cm breit gedruckten Code hat der kurze Link Module von 1 mm, und die Visitenkarte auf Stufe H Module von 0,3 mm, etwa so groß wie ein Salzkorn. Kleine Module sind es, die Codes bei schlechtem Druck, auf Entfernung und bei wenig Licht versagen lassen.

Wie viel Schaden ein Code übersteht

Um die Stufen zu testen, haben wir die Mitte jedes Codes mit einem weißen Quadrat abgedeckt, so wie ein Logo meist platziert wird, und es jeweils um ein Prozent der Codefläche vergrößert, bis der Leser unseres QR-Code-Scanners versagte.

InhaltLMQH
Kurzer Link5 %6 %9 %16 %
WLAN-Zugang5 %8 %14 %19 %
Link mit Tracking-Codes7 %11 %20 %20 %
Visitenkarte8 %12 %19 %15 %
Das größte zentrierte Quadrat, als Anteil der Codefläche, bei dem der Code noch gelesen wurde.
Zwei Kopien desselben QR-Codes der Stufe H mit einem weißen Quadrat in der Mitte. Mit 20 % abgedeckter Fläche wird er noch gelesen, mit 24 % nicht mehr.
Stufe H mit abgedeckter Mitte. Ein paar Prozent mehr machten den Unterschied.

Zwei Dinge fallen auf. Erstens war die tatsächliche Toleranz niedriger als die Werte des Standards, oft um ein Drittel oder mehr. Ein Quadrat abgedeckter Fläche schneidet an seinen Rändern durch Codewörter und beschädigt mehr davon, als seine Größe vermuten lässt, und es kann Ausrichtungsmarken verdecken, mit denen der Leser das Raster findet. Zweitens gewannen höhere Stufen nicht immer: Bei der Visitenkarte versagte H früher als Q. Größere Codes haben mehr Ausrichtungsmarken, die ein zentriertes Quadrat treffen kann, und jeder Leser geht mit Schäden etwas anders um.

Die praktische Lehre: Lassen Sie Spielraum. Wenn ein Code Schäden überstehen muss, planen Sie nicht ein, seine gesamte Fehlerkorrektur zu nutzen.

Logos in QR-Codes

Ein Logo funktioniert, indem es den Code absichtlich beschädigt und sich darauf verlässt, dass die Fehlerkorrektur das behebt. Unser QR-Code-Generator hebt die Stufe auf Q an, wenn Sie ein Logo hinzufügen und sie niedriger eingestellt war, und begrenzt die vom Logo verdeckte Fläche auf einen Anteil dessen, was diese Stufe wiederherstellen kann. Wir haben jede Kombination aus unseren vier Inhalten, den Stufen M, Q und H und Logogrößen von 24 bis 40 % geprüft, der größten, die der Generator anbietet: Alle wurden gelesen.

So erstellen Sie einen QR-Code, der immer gelesen wird

  • Halten Sie den Inhalt kurz. Nutzen Sie einen kurzen Link statt eines langen mit Tracking-Codes. Das ist der größte Gewinn überhaupt, denn weniger Module heißt größere Module.
  • Nehmen Sie M für Bildschirme und sauberen Druck, Q für Poster, Verpackungen und alles mit Logo. Nehmen Sie H nur bei kurzem Inhalt, damit das Raster klein bleibt.
  • Drucken Sie ihn groß genug. Eine gängige Faustregel ist eine Codebreite von mindestens einem Zehntel des Leseabstands: 3 cm für einen Tischaufsteller, der aus 30 cm gelesen wird, 30 cm für ein Poster, das aus 3 Metern gelesen wird.
  • Halten Sie starken Kontrast und einen Rand. Dunkle Quadrate auf hellem Hintergrund und ein freier Rand von mindestens vier Modulen Breite. Helle Codes auf dunklem Hintergrund liest nicht jede App.
  • Testen Sie vor dem Druck, mit einem alten Handy ebenso wie mit einem neuen, aus dem tatsächlichen Abstand.

Mit unserem Generator erstellte Codes sind statisch: Der Inhalt steckt im Code selbst, er funktioniert also für immer und hängt von keinem Dienst ab. Manche QR-Dienste erstellen „dynamische“ Codes, die auf ihren eigenen Server zeigen und von dort weiterleiten, sodass Sie das Ziel später ändern können, die aber nicht mehr funktionieren, wenn der Dienst oder Ihr Abo endet.

Fragen und Antworten

Welche Fehlerkorrekturstufe sollte ich für einen QR-Code nutzen?

M für Bildschirme und sauberen Druck, Q für Druck, Außenbereich und Codes mit Logo. H macht den Code viel dichter, nutzen Sie es also nur für kurzen Inhalt.

Wie viel eines QR-Codes darf abgedeckt sein?

Weniger, als die 7, 15, 25 und 30 % des Standards vermuten lassen. In unserem Test konnte ein zentriertes Quadrat bei L 5 bis 8 % abdecken, bei M 6 bis 12 %, bei Q 9 bis 20 % und bei H 15 bis 20 %.

Macht ein Logo einen QR-Code schwerer lesbar?

Es verbraucht einen Teil der Fehlerkorrektur. Mit Fehlerkorrektur auf Q und einem Logo in maßvoller Größe wurden alle unsere Testcodes gelesen.

Wie klein darf ein gedruckter QR-Code sein?

Eine gängige Faustregel ist eine Breite von einem Zehntel des Leseabstands, etwa 2 bis 3 cm für etwas, das auf Armlänge gelesen wird. Kurzer Inhalt erlaubt kleinere Codes.

Tools in diesem Artikel

Mehr aus dem Blog

Daten6 Min. Lesezeit

ZIP, 7z oder RAR: welches Archivformat ist das beste?

Wir haben dieselben Ordner mit Fotos, Videos, Dokumenten und Daten in ZIP-, 7z- und RAR-Archive gepackt und Größe und Geschwindigkeit gemessen. Der Gewinner hängt fast nur davon ab, was drin ist.

Daten6 Min. Lesezeit

CSV, Excel oder JSON: welches Format für Ihre Daten?

Wir haben dieselbe Tabelle mit 100.000 Zeilen als CSV, als Excel-Arbeitsmappe und als JSON gespeichert und dann die Größen verglichen, wie schnell sich jede im Code liest und was mit Datumsangaben, führenden Nullen und langen Zahlen schiefgeht.

Daten5 Min. Lesezeit

Unix-Zeitstempel erklärt

Ein Unix-Zeitstempel ist nur eine Zahl von Sekunden und sorgt doch für einen steten Strom von Fehlern. Was er zählt, wie Sie Sekunden und Millisekunden auf einen Blick unterscheiden, was mit Zeitzonen und Schaltsekunden passiert und warum 2038 wichtig ist.

Esc