Zum Inhalt springen
Deutsch

Erklärung

Was ist ein QR Code?

Ein QR Code ist ein zweidimensionaler Barcode, der Text in einem Raster aus schwarzen und weißen Quadraten speichert. Dieser Ratgeber zerlegt einen — die Eckmarken, den Datenbereich, die Reparaturinformation — und erklärt, warum dieser Aufbau entscheidet, wie viel hineinpasst.

Ein QR Code ist ein Raster aus schwarzen und weißen Quadraten, das Text speichert. Mehr nicht. Er ist kein Link, kein Bild und kein Konto irgendwo: Er ist eine Art, Zeichen so zu schreiben, dass eine Kamera sie lesen kann.

Die Abkürzung steht für Quick Response, schnelle Antwort, und beschreibt das Problem, für das er erfunden wurde. 1994 zwang ein gewöhnlicher Barcode in der Fabrik von Denso Wave dazu, das Lesegerät an den Strichen auszurichten, und es passten nur rund zwanzig Zeichen hinein. Das Team um Masahiro Hara suchte etwas, das sich aus jedem Winkel lesen ließ und deutlich mehr speicherte. Die Lösung war der Schritt von einer Dimension zu zweien: statt Striche unterschiedlicher Breite ein Gitter, in dem jede Zelle — jedes Modul — ein Bit trägt.

Was die einzelnen Teile des Bildes sind

Wer einen QR Code aus der Nähe ansieht, erkennt, dass nicht alles zufällig ist. Es gibt Bereiche mit einer bestimmten Aufgabe.

Die drei großen Quadrate in den Ecken sind die Positionierungsmuster. Sie sind das Erste, wonach ein Lesegerät sucht, und ihr Ringverhältnis — schwarz, weiß, schwarz im Verhältnis 1:1:3:1:1 — ist ein Muster, das in einer Fotografie kaum je zufällig entsteht. Findet das Handy drei davon, kennt es drei der vier Ecken und damit den Winkel, in dem der Code steht. Deshalb lässt sich ein Code schief oder kopfüber genauso scannen: Die Ausrichtung ergibt sich daraus, welche Ecke kein Quadrat hat.

Das kleine Quadrat nahe der vierten Ecke ist das Ausrichtungsmuster. Es korrigiert die Verzerrung, wenn der Code auf einer gewölbten Fläche sitzt oder schräg fotografiert wird. Kleinere Codes haben es nicht, weil sie es nicht brauchen; ab einer gewissen Größe erscheinen mehrere.

Die beiden Linien aus abwechselnden Modulen zwischen den Eckquadraten sind die Taktmuster. Sie teilen dem Lesegerät die genaue Modulgröße mit, und erst das erlaubt es, das Gitter korrekt zu unterteilen, auch wenn das Foto etwas unscharf ist.

Der Rest sind Daten und Fehlerkorrektur, gemischt nach einer Reihenfolge, die die Norm festlegt.

Wie aus Text Quadrate werden

Der Vorgang hat drei Schritte, und es lohnt sich, sie zu verstehen, weil sie fast alle praktischen Entscheidungen erklären.

Zuerst wird der Text in Bits kodiert, im kompaktesten Modus, der dafür taugt. Stehen nur Ziffern darin, braucht jedes Zeichen rund 3,3 Bit. Kommen Großbuchstaben und einige Symbole vor, 5,5 Bit. Kommen Kleinbuchstaben vor, wird in den Byte-Modus gewechselt, und jedes Zeichen kostet acht Bit oder mehr.

Für das Deutsche hat das eine konkrete Folge, die anderswo nicht auftritt: Umlaute und das ß kosten je zwei Bytes. Ein Netzname wie Bäckerei Grün ist im kodierten Inhalt spürbar teurer als Baeckerei Gruen, und ein Text mit vielen Umlauten erzeugt ein merklich dichteres Muster als derselbe Text ohne. Das ist kein Grund, deutsche Rechtschreibung aufzugeben — aber es ist der Grund, warum ein deutscher Inhalt bei gleicher Zeichenzahl ein feineres Muster ergeben kann als ein englischer.

Zweitens wird die Fehlerkorrekturinformation mit einem Verfahren namens Reed-Solomon ergänzt. Das ist kein Zusatz: Es ist das, was einen Code funktionsfähig hält, wenn ein Teil verdeckt, zerkratzt oder schlecht gedruckt ist. Es gibt vier Stufen — L, M, Q und H —, die etwa 7 %, 15 %, 25 % und 30 % des Inhalts wiederherstellen. Je höher die Stufe, desto mehr Module belegt die Reparatur und desto weniger Platz bleibt für Daten.

Drittens wird alles in einem Zickzackweg im Gitter platziert und erhält eine Maske: ein Muster, das mit den Daten verrechnet wird, um große einfarbige Flächen oder Formen zu vermeiden, die den Eckquadraten ähneln. Der Kodierer probiert alle acht möglichen Masken durch und behält die mit dem ausgewogensten Bild. Deshalb können zwei Codes mit demselben Inhalt verschieden aussehen, wenn sie von verschiedenen Werkzeugen erzeugt wurden: Beide sind richtig.

Warum Sie die Größe nicht bestimmen

Die Zahl der Module pro Kante ist keine Vorliebe, sondern eine Folge. Das Format hat vierzig Versionen: Version 1 misst 21×21 Module, und jede folgende fügt vier Reihen und vier Spalten hinzu, bis Version 40 mit 177×177. Der Kodierer wählt die kleinste Version, in die Ihre Daten mit der gewünschten Korrekturstufe passen.

Daraus folgen die zwei nützlichsten Faustregeln, die es zu QR Codes gibt:

  1. Weniger Text, gröberer Code. Und grobe Module sind die, die einen kleinen Druck, eine mittelmäßige Kamera und ein saugendes Papier überstehen.
  2. Mehr Fehlerkorrektur, feinerer Code. Der Wechsel von M auf H kann bei gleichem Inhalt die Modulzahl deutlich erhöhen, also lohnt er sich nur, wenn Sie tatsächlich Beschädigung erwarten oder einen Teil mit einem Logo verdecken.

Was in der Sekunde des Scannens passiert

Wenn Sie die Kamera draufhalten, erledigt das Handy all das in wenigen Millisekunden: Es findet die drei Quadrate, leitet die Ausrichtung ab, berechnet die Modulgröße über die Taktmuster, korrigiert die Perspektive, liest die Bits, entfernt die Maske, wendet die Fehlerkorrektur an, um Fehlendes zu reparieren, und erhält den ursprünglichen Text.

Und dann — und erst dann — entscheidet es, was mit diesem Text geschehen soll. Beginnt er mit https://, bietet es an, ihn zu öffnen. Beginnt er mit WIFI:, bietet es die Verbindung an. Beginnt er mit BEGIN:VCARD, schlägt es vor, einen Kontakt zu speichern. Dieses Präfix ist der einzige Unterschied zwischen einem „WLAN QR Code“ und einem „Link-QR-Code“: Die Quadrate arbeiten exakt gleich, was sich ändert, ist, was darin geschrieben steht.

Das zu verstehen verhindert den häufigsten Fehler des Formats — nämlich zu erwarten, dass ein Code etwas tut, worum sein Inhalt gar nicht bittet.

Häufige Fragen

Wer hat den QR Code erfunden und wem gehört er heute?

Entwickelt wurde er 1994 vom Team um Masahiro Hara bei Denso Wave, einer Tochter von Toyota, um Autoteile an einem Montageband zu verfolgen. Denso Wave hält Patente auf das Format, hat sie aber nie gegen jemanden durchgesetzt, der Codes erzeugt oder liest, und das Format ist als ISO/IEC 18004 normiert, das jeder umsetzen darf. Die Wortmarke QR Code ist weiterhin eingetragen, weshalb die Dokumentation sie großschreibt. Praktisch können Sie beliebig viele erstellen und drucken, ohne zu zahlen oder zu fragen.

Wie viele Daten passen in einen einzigen QR Code?

Die theoretische Obergrenze liegt bei 7.089 Ziffern, 4.296 alphanumerischen Zeichen oder 2.953 Bytes bei der niedrigsten Korrekturstufe. Diese Zahlen helfen in der Praxis nicht weiter, denn ein solcher Code hat 177 Reihen, und die Kamera eines Handys kann sie nur auflösen, wenn er riesig gedruckt ist. Alles, was tatsächlich gescannt werden soll, sollte unter etwa 300 Zeichen bleiben — dann bleibt das Raster klein genug, um es aus bequemer Entfernung zu lesen.

Warum wirken manche QR Codes voller als andere?

Weil mehr Daten darin stecken. Das Format wächst in Versionen von 1 bis 40, und jede fügt vier Reihen und vier Spalten Module hinzu. Ein Code mit zwanzig Zeichen kann Version 2 mit 25 Modulen Kantenlänge sein; einer mit zweihundert braucht eine deutlich höhere Version, und dieselbe Druckgröße verteilt dann viel mehr Quadrate auf derselben Fläche. Auch eine höhere Korrekturstufe fügt Module hinzu, weil die Reparaturinformation Platz braucht.

Lässt sich ein QR Code ohne Internet lesen?

Der Code wird immer ohne Internet gelesen, denn das Entschlüsseln des Musters ist eine lokale Rechnung des Handys. Eine Verbindung kann erst brauchen, was danach kommt: Steht darin eine Webadresse, ist zum Öffnen ein Netz nötig. Stehen darin Klartext, Kontaktdaten oder eine WLAN-Konfiguration, funktioniert alles im Flugmodus.

Laufen QR Codes ab?

Das Muster selbst läuft nie ab: Es ist eine Art, Daten zu schreiben, kein Dienst. Ablaufen kann das Ziel. Ein statischer Code trägt die Daten in sich und funktioniert, solange das existiert, worauf er zeigt. Ein dynamischer Code trägt die Adresse eines Weiterleitungsdienstes und hört an dem Tag auf zu funktionieren, an dem dieser Dienst schließt oder nicht mehr bezahlt wird — auch wenn das gedruckte Papier unversehrt ist.

Hier behandelte Generatoren

Weiterlesen