Wie QR-Codes wirklich funktionieren: Ein praktischer Leitfaden
Was die Quadrate bedeuten, was Fehlerkorrektur in Millimetern kostet, warum Grossbuchstaben den Code kleiner machen, und warum gedruckte Codes scheitern.
QR-Codes wurden von der Spielerei zur Infrastruktur, ohne dass jemand lernen musste, wie sie funktionieren. Das geht gut, bis einer davon aus der Druckerei kommt und nicht scannt.
Die meisten Gründe sind baulich, und alle sind erkennbar, bevor Sie in den Druck gehen.
Was die Quadrate sind
- Drei grosse Quadrate an den Ecken sind die Suchmuster. Sie sagen einem Scanner, dass hier ein QR-Code ist und wo oben ist.
- Gestrichelte Linien dazwischen sind die Taktmuster und geben dem Scanner den Rasterabstand.
- Kleine Quadrate anderswo im Raster sind Ausrichtungsmuster und korrigieren Perspektive und Verzug.
- Alles Übrige sind Module: die Daten und ihre Fehlerkorrektur.
Bei den Ausrichtungsmustern lohnt Genauigkeit, weil die meisten Beschreibungen hier falsch liegen. Version 1 hat keines. Die Versionen 2 bis 6 haben ein einziges Ausrichtungsquadrat unten rechts, grössere Versionen mehrere über das Raster verteilt. "Ein kleines Quadrat in der vierten Ecke" beschreibt also einen mittelgrossen Code und nicht QR-Codes im Allgemeinen.
Die Versionen laufen von 1 mit 21 mal 21 Modulen bis 40 mit 177 mal 177, je Schritt vier Module breiter.
Die vier Kodierungsmodi
Ein QR-Code kodiert Bytes nicht unabhängig vom Inhalt immer gleich.
| Modus | Alphabet | Bit pro Zeichen |
|---|---|---|
| Numerisch | 0-9 | 3,33, also 10 Bit je 3 Ziffern |
| Alphanumerisch | 0-9 A-Z sowie $ % * + - . / : und Leerzeichen | 5,5, also 11 Bit je 2 Zeichen |
| Byte | jedes 8-Bit-Byte, meist UTF-8 | 8 |
| Kanji | JIS X 0208 | 13 |
Generatoren wählen den günstigsten Modus, den der Inhalt erlaubt. "12345" passt numerisch in 17 Bit. "HELLO WORLD" passt alphanumerisch in 61 Bit. "hello world" fällt auf Byte mit 88 Bit, weil Kleinbuchstaben nicht im alphanumerischen Alphabet stehen.
Das Letzte hat eine praktische Folge, die selten genutzt wird.
Die URL zu rufen spart eine ganze Version. HTTPS://EXAMPLE.COM ergibt Version 1 mit 21 mal 21, https://example.com braucht Version 2 mit 25 mal 25. Dieselben neunzehn Zeichen.
Das ist zulässig, weil Schemata und Hostnamen nicht case-sensitiv sind2. Ab dem ersten Schrägstrich hört das auf: HTTPS://EXAMPLE.COM/PREISE und /preise sind auf den meisten Servern verschiedene Pfade. Also Schema und Host in Grossbuchstaben, den Rest so lassen.
Was Fehlerkorrektur wirklich kostet
Jeder QR-Code trägt Redundanz, damit er Schmutz, Beschädigung und ein Logo in der Mitte übersteht. Es gibt vier Stufen, und Denso Wave gibt Stufe M mit 15 Prozent und Stufe Q mit etwa 25 Prozent Wiederherstellung an3, L darunter und H darüber.
Die interessante Frage ist nicht, was sie wiederherstellen, sondern was sie kosten.
Bei einer URL mit 89 Zeichen führt der Weg von L nach H von einem 37er-Raster zu einem 53er. Bei praxistauglichen 0,4 mm pro Modul sind das 18,0 mm Druckbreite gegen 24,4 mm, Ruhezone eingerechnet. Rund ein Drittel mehr für die vierfache Schadenstoleranz, und das ist bei allem Gedruckten fast immer der bessere Tausch.
Der Logo-Trick in der Mitte zehrt vom selben Budget. Das Logo zerstört Module, und die Fehlerkorrektur baut sie wieder auf. Ein Logo, das mehr Fläche verdeckt, als die Stufe wiederherstellt, scannt nicht. Bleiben Sie unter etwa einem Fünftel der Codefläche und nehmen Sie Stufe H, oder setzen Sie die Marke unter den Code, wo sie nichts kostet.
Warum er nicht scannt
Zu klein gedruckt. Rechnen Sie vom Modul aus, nicht von der Gesamtgrösse. Rund 0,4 mm pro Modul sind eine vernünftige Untergrenze für Handykameras, und Denso Waves eigene Methode ist Zellgrösse mal Module plus Rand1. Ein Code mit 41 Modulen braucht 41 plus 8 Module Breite, also etwa 19,6 mm. Auf Visitenkarten und Weinetiketten geht das schief, weil ein Code, der unter der Schreibtischlampe funktioniert, im Restaurant auf Armlänge versagt.
Die Ruhezone wurde beschnitten. Die Spezifikation verlangt an jeder Seite einen freien Rand von vier Modulen1. Gestalter kürzen ihn, damit der Code ins Layout passt, und ein Code direkt an einer Kante oder einem Bild ist messbar schwerer zu erfassen.
Zu wenig Kontrast. Schwarz auf Weiss ist die Referenz. Dunkelblau auf Hellblau funktioniert meist und versagt zuerst bei schlechtem Licht. Invertierte Codes, helle Module auf dunklem Grund, beherrschen die meisten aktuellen Scanner und nicht alle, also vor einer Auflage von zehntausend testen.
Glänzende oder gewölbte Oberfläche. Reflexe machen die Kamera blind, und eine Flasche oder ein gewölbter Magnet verzerrt das Raster über das hinaus, was die Ausrichtungsmuster korrigieren können. Auf Rundungen schlägt ein physisch kleinerer Code in Stufe H einen grösseren in Stufe L.
Codes, die überleben
- Stufe M als Minimum für alles Gedruckte. L ist für Bildschirme.
- URL kurz halten, auf einer eigenen Domain. Weniger Zeichen heisst weniger Module heisst kleinere Mindestgrösse.
- Einen eigenen Redirector verwenden, damit sich das Ziel ohne Nachdruck ändern lässt. Der Aufkleber ist dauerhaft, die URL nicht.
- Das Ziel vom Handy über Mobilfunk aufrufen, bevor die Datei rausgeht. Nicht vom Laptop, auf dem der Staging-Host noch in
/etc/hostssteht. - Auf iOS und Android testen, in der Entfernung und dem Licht, das die Leserin tatsächlich hat.
Unser QR-Code-Generator stellt Fehlerkorrekturstufe und Grösse direkt ein und läuft in der Seite, die kodierten URLs werden also nirgendwohin geladen.
Die Spezialformate
WLAN, als WIFI:S:<ssid>;T:<auth>;P:<password>;;, was eine Handykamera direkt zum Beitreten anbietet. Wirklich die beste Art, ein Gästepasswort weiterzugeben, und unser WLAN-QR-Code-Generator schreibt es für Sie.
vCard, für Kontaktdaten auf einer Veranstaltung. Scanner zeigen die Daten vor dem Übernehmen, wer scannt, sieht also genau das, was Sie kodiert haben.
mailto: und SMSTO:, die Empfänger und Text vorbelegen. Nützlich auf einem Support-Aufkleber, wenn eingehende Nachrichten in vorhersagbarer Form ankommen sollen.
Massenerzeugung, für Inventaretiketten und Tickets: Der Massen-QR-Code-Generator nimmt eine Liste und erzeugt sie in einheitlicher Grösse und Korrekturstufe.
Um zu prüfen, ob eine Charge wirklich dorthin zeigt, wo Sie denken, dekodiert der QR-Code-Leser aus einem Bild im Browser, und das schlägt hundert Aufkleber von Hand.
Ein QR-Code ist ein Link, mit allem was daraus folgt
Nichts an einem QR-Code ist verschlüsselt oder verborgen. Was Sie kodieren, kann jeder lesen, der scannt, und ein Link ist ein Zugangsmittel, sobald das Ziel ihn als solches behandelt. Ein Speisekarten-Code, der auf ein geteiltes Dokument mit linkbasierter Bearbeitung zeigt, verteilt Schreibrechte an alle, die sich hinsetzen.
Von der anderen Seite: Ihr Handy zeigt das dekodierte Ziel in einem Banner und wartet auf einen Tipp. Dieses Banner ist der einzige Moment, in dem Sie bemerken können, dass der Aufkleber über dem echten Code des Parkautomaten irgendwohin führt, das niemand kennt. Scannen ist ungefährlich. Tippen ohne Lesen ist die Stelle, an der das Geld verschwindet.
Gestalten Sie sie so, als überlebten sie die Kampagne, denn gedruckte tun das.
Quellen
Jede Zahl in diesem Artikel lässt sich auf eine Quelle unten zurückführen. Behauptungen ohne Beleg wurden gestrichen, nicht abgeschwächt.
- PrimärquelleDenso Wave
Dass ein QR-Code an allen Seiten des Symbols einen Rand von vier Modulen Breite benötigt, und die Methode, die physische Grösse eines gedruckten Symbols aus der Zellgrösse plus diesem Rand zu berechnen.
- PrimärquelleIETF
Dass Schemata nicht case-sensitiv sind und dass die Host-Unterkomponente der Authority nicht case-sensitiv ist, was den Grossbuchstaben-Trick für Schema und Host zulässig macht, für den Pfad aber nicht.
- PrimärquelleDenso Wave
Die vier Fehlerkorrekturstufen L, M, Q und H sowie die angegebenen Wiederherstellungswerte von 15 Prozent für Stufe M und etwa 25 Prozent für Stufe Q.
Themen
- QR Code
- Encoding
- Error Correction
- Printing
In diesem Artikel erwähnte Tools
- QR Code Generator - Generate QR codes for URLs, text, email, phone and WiFi.
- QR Code Reader - Scan and decode QR codes from any image online - upload a photo, screenshot or saved picture and read the QR contents instantly in your browser.
- WiFi QR Code Generator - Generate a QR code for your WiFi network so guests can connect by scanning.
- Bulk QR Code Generator - Generate multiple QR codes at once from a list of URLs or text.
Neue Tools per E-Mail
Neue Tools und gelegentlich ein ausführlicher Artikel, etwa einmal im Monat. Kein Spam, deine Adresse bekommt niemand, Abmeldung mit einem Klick.