Titelbild zum Artikel „Von 21x21 bis 177x177: die 40 QR-Code-Versionen“
Technologie

Von 21x21 bis 177x177: die 40 QR-Code-Versionen

5 Min. Lesezeit
QR-Code erstellen

Zählen Sie die Module entlang einer Kante eines beliebigen QR-Codes, ziehen Sie 17 ab, teilen Sie durch vier. Das Ergebnis ist die Version, eine Zahl zwischen 1 und 40, und sie sagt über das Symbol mehr aus als alles andere, was Sie von außen messen können. Wer Druckvorlagen für eine Auflage vorbereitet, braucht genau diese Zahl.

Version 1 hat 21x21 Module. Jede Stufe nach oben ergänzt vier Module je Seite: 25x25, 29x29, 33x33 und weiter bis Version 40 mit 177x177. Die Folge liegt fest, ohne Lücken und ohne optionale Zwischengrößen. Version 1 umfasst 441 Modulpositionen, Version 40 umfasst 31.329.

Was mit der Version wächst

Drei Dinge skalieren mit steigender Version nach oben.

Die Kapazität ist das Offensichtliche. Mehr Module bedeuten mehr Codewörter, und mehr Codewörter bedeuten mehr Platz für Daten wie für Fehlerkorrektur. Die Tabellen nach Version, Modus und Korrekturstufe stehen in wie viele Daten ein QR-Code fasst, hier werden sie nicht wiederholt.

Ausrichtungsmuster sind das Zweite. Version 1 hat keines. Die Versionen 2 bis 6 haben genau eines, unten rechts. Ab Version 7 springt die Zahl auf sechs, dann dreizehn, dann zweiundzwanzig, dreiunddreißig und sechsundvierzig bei den Versionen 35 bis 40. Das Muster hinter diesen Zahlen ist einfach: Ausrichtungszentren liegen auf einem quadratischen Raster, und die drei Rasterpositionen, die mit den Suchmustern kollidieren würden, entfallen. Vier Rasterpunkte minus drei ergibt eins. Neun minus drei ergibt sechs. Neunundvierzig minus drei ergibt sechsundvierzig.

Die Blockstruktur ist das Dritte und am wenigsten Sichtbare. Ab einer gewissen Größe werden die Codewörter in mehrere Fehlerkorrekturblöcke aufgeteilt statt in einen langen Lauf, jeder mit eigenen Prüfdaten, und dann über das Symbol verschachtelt. Das hält die Reed-Solomon-Rechnung begrenzt und verteilt örtlichen Schaden über die Blöcke.

Was in jeder Version gleich bleibt

Die drei Suchmuster ändern sich nie. Immer drei, immer 7x7 Module, immer oben links, oben rechts und unten links, immer mit einem ein Modul breiten hellen Trenner an den Innenkanten. Ein Symbol der Version 40 hat dieselben Eckquadrate wie eines der Version 1, und deshalb funktioniert dieselbe Ortungsroutine über den gesamten Bereich.

Auch die beiden Taktmuster bewegen sich nicht. Eine Zeile und eine Spalte aus abwechselnd dunklen und hellen Modulen verlaufen zwischen den Suchmustern, in festem Abstand vom Ursprung oben links. Sie werden länger, wenn das Symbol wächst, aber ihre Lage und ihr Wechselrhythmus bleiben konstant.

Formatinformationen gibt es in jeder Version, Version 1 eingeschlossen: fünfzehn Bit, die Fehlerkorrekturstufe und Maskenmuster festhalten, zweimal an zwei getrennten Stellen gespeichert, sodass Schaden an einer Kopie überlebbar ist.

Die Ruhezone bleibt unabhängig von der Version bei vier Modulen freiem Rand auf allen vier Seiten. Ebenso das eine stets dunkle Modul neben dem Formatstreifen unten links. Zusammen sind sie der Grund, warum ein QR-Code jeder Größe immer noch wie dasselbe Objekt aussieht.

Versionsinformation ist nicht die Version

Verwirrenderweise fehlt der Versionsinformationsblock in den meisten Versionen. Er erscheint erst ab Version 7: zwei 6x3-Blöcke mit achtzehn Bit, einer nahe dem Suchmuster oben rechts und einer unten links, jeder trägt die Versionsnummer plus fehlererkennende Bits.

Unterhalb von Version 7 braucht der Decoder ihn nicht. Die Modulzahl allein liefert die Version, und kleine Symbole lassen sich genau genug messen. Bei größeren Symbolen ist die Modulzahl aus einem verzerrten oder gering aufgelösten Bild schwerer zu bestimmen, also wird die Version ausdrücklich hingeschrieben.

Niemand wählt die Version von Hand

Der Encoder wählt sie. Sie liefern Inhalt, der Encoder ermittelt den Kodiermodus, zählt, wie viele Bit der Inhalt braucht, addiert den Aufwand für Modusanzeiger und Zeichenzahl, nimmt dann die von Ihnen gewünschte Fehlerkorrekturstufe und findet die kleinste Version, in der die Daten neben den erforderlichen Prüfcodewörtern Platz haben.

Drei Eingaben, eine Ausgabe. Ändern Sie eine der drei, und die Version kann wandern. Dazu gehört auch das Ändern der Fehlerkorrekturstufe bei völlig gleichem Inhalt — die Wechselwirkung, die die meisten übersehen.

Versionsschleichen und wie man es erkennt

So sieht es mit echten Zahlen aus, im Byte-Modus auf Stufe M.

Eine URL mit 26 Zeichen passt in Version 2, deren Bytekapazität auf Stufe M genau 26 beträgt. Ergänzen Sie einen üblichen Satz Kampagnenparameter, und derselbe Link läuft auf rund 90 Zeichen. Version 5 endet auf dieser Stufe bei 84 Byte, also wechselt der Encoder zu Version 6, die 106 fasst. Das Raster geht von 25x25 auf 41x41. Bei unveränderter Druckbreite von 30 mm sinkt die Modulgröße um rund ein Drittel, und der Code, der sich bequem aus Armlänge lesen ließ, will nun näher gehalten oder größer gedruckt werden.

Zwei Gewohnheiten halten das im Griff. Legen Sie eine kurze Weiterleitungs-URL hinter den Code und tragen Sie die Kampagnenparameter auf der Zielseite — dafür ist ein dynamischer QR-Code da. Und erzeugen Sie den Andruck nach jeder Inhaltsänderung neu, statt anzunehmen, dass die bereits freigegebene Datei noch gilt. Wird das Symbol dichter, muss entweder die physische Größe steigen oder die Druckauflösung mitziehen.

Modulzahl trifft DIN-A-Format

Die Version wird erst dann zur Größenfrage, wenn sie auf ein Papierformat trifft. Rechnen Sie in Millimeter pro Modul: Ein 25 Millimeter breiter Code in Version 10 hat 57 Module je Kante, also knapp 0,44 Millimeter Kantenlänge je Modul. Derselbe Code in Version 4 hat 33 Module und kommt auf gut 0,75 Millimeter. Die Rechnung bleibt immer dieselbe, Breite geteilt durch Modulzahl, und die Modulzahl folgt aus der Version.

Damit wird die Nutzlast zur Formatentscheidung. Auf einem Beileger in DIN A6 oder einer Visitenkarte ist der Platz für den Code zweistellig in Millimetern, nicht dreistellig, und jede zusätzliche Zeile im Inhalt drückt die Modulgröße weiter nach unten. Auf einem Aushang in DIN A3 spielt dieselbe Version keine Rolle. Fragen Sie Ihre Druckerei nach der kleinsten Linienbreite, die sie im gewählten Verfahren und auf dem gewählten Papier sicher hält, und legen Sie die Modulgröße darüber, statt sie zu schätzen. Die Umrechnung von Modulgröße auf Leseabstand steht in unserem Größenleitfaden.

Ein Wort zu Inhalten, die in Deutschland gern in Codes wandern: Sie sind lang. Eine vollständige vCard mit Firmenname, Position, Festnetz, Mobilnummer, Straße, Postleitzahl und Website landet schnell bei Version 10 oder höher, ein Zahlungsdatensatz mit Empfänger, IBAN, BIC, Betrag und Verwendungszweck ebenso. Wer das auf eine Visitenkarte drucken will, kürzt entweder den Inhalt oder verlinkt eine Seite.

Die Version an einem fertigen Code ablesen

Am fertigen Symbol ist die Version eine Zählaufgabe von zehn Sekunden. Vergrößern Sie die Datei, bis einzelne Module unterscheidbar sind, und zählen Sie die Oberkante ab, vom äußeren Rand des linken Suchmusters bis zum äußeren Rand des rechten. Der weiße Rand zählt nicht mit, er gehört nicht zum Raster. Dann 17 abziehen und durch vier teilen: 25 Module sind Version 2, 57 Module sind Version 10.

Zwei Plausibilitätsprüfungen gibt es gratis dazu. Das Ergebnis sollte eine ganze Zahl zwischen 1 und 40 sein; alles andere heißt, Sie haben sich verzählt. Und wenn Sie die beiden kleinen 6x3-Blöcke mit Versionsinformation neben den Suchmustern oben rechts und unten links sehen, ist die Version mindestens 7.

Die Zahl, die weiter unten zählt, ist nicht die Version selbst, sondern was sie mit der Modulgröße macht. Teilen Sie Ihre Druckbreite durch die Modulzahl je Seite und vergleichen Sie das Ergebnis mit dem kleinsten Modul, das Ihr Produktionsverfahren sauber hält. Diese eine Division, ausführlicher im Größenleitfaden, fängt die meisten Ausfälle ab, die sonst den Scannern angelastet werden. Die vollständige Dekodierfolge erklärt, warum kleine Module sie brechen.

Diesen Artikel teilen