QR-Codes: Vom Toyota-Werk zum Restaurant-Menü, eine kurze Geschichte
Jeder kennt das schwarz-weiße Quadrat: auf der Speisekarte im Restaurant, auf dem Paketlabel, auf der EPC-Überweisung im Online-Banking, auf dem Bahnticket. Was kaum jemand weiß: der QR-Code wurde nicht für Konsumenten erfunden, sondern für die Lagerlogistik der Toyota-Tochter Denso. Dieser Artikel erzählt, wie ein industrielles Werkstattwerkzeug aus den 1990er Jahren zum weltweit eingesetzten Alltagsmedium wurde, wie die Technik unter der Haube tatsächlich funktioniert, warum die Pandemie 2020 den Durchbruch im Westen brachte und wo heute die Sicherheitsfallen lauern.
1994 in der Toyota-Werkstatt: das Problem mit dem Barcode
Der QR-Code entstand 1994 im Forschungslabor der Firma Denso Wave, einer Tochter des japanischen Toyota-Konzerns, unter der Leitung des Ingenieurs Masahiro Hara. Hara und sein zweiköpfiges Team standen vor einem konkreten Produktionsproblem: in den Just-in-time-Werkstätten von Toyota mussten täglich tausende Bauteile entlang der Montagestraße eindeutig identifiziert werden. Klassische Strichcodes (1D-Barcodes) konnten je nach Norm nur etwa 20 bis 30 Zeichen aufnehmen, was bei den damals üblichen Teilebezeichnungen mit Modellnummer, Charge, Datum und Komponenten-Identifikator schlicht zu wenig war. Außerdem mussten viele Codes auf einem Bauteil gleichzeitig stehen, was Scanzeit kostete und die Mitarbeiter ermüdete.
Hara wollte einen Code, der erstens deutlich mehr Information speichert, zweitens auch japanische Kanji und Katakana fehlerfrei aufnehmen kann (Standard-Barcodes konnten das nicht), drittens aus jedem Winkel scannbar ist und viertens auch dann noch funktioniert, wenn Öl, Schmutz oder kleine Beschädigungen den Code teilweise verdecken. Inspiriert von einem Brettspiel namens Go (mit seinen schwarzen und weißen Steinen auf einem Raster) entstand die Idee einer zweidimensionalen Matrix mit drei großen Quadraten in drei Ecken, sogenannten Suchmustern (Finder Patterns), die dem Scanner sofort verraten, wo der Code beginnt, wo er endet und in welcher Orientierung er liegt. Diese Idee war der Durchbruch und blieb seit 1994 das Markenzeichen des QR-Codes.
Anatomie eines QR-Codes: was diese schwarzen Quadrate eigentlich tun
Ein QR-Code besteht aus mehreren strukturellen Elementen, die der Scanner in einer festen Reihenfolge auswertet. Die drei großen Quadrate in der oberen linken, oberen rechten und unteren linken Ecke heißen Position Detection Patterns oder Finder Patterns. Sie haben ein festes Verhältnis von schwarzen zu weißen Modulen (1:1:3:1:1), das selbst dann eindeutig erkennbar bleibt, wenn der Code schräg fotografiert oder verzerrt aufgenommen wird. Aus diesen drei Punkten berechnet der Scanner die genaue Position der vierten Ecke und kann den Code aus jedem Drehwinkel korrekt einlesen. In den größeren Versionen kommen zusätzlich kleinere Alignment Patterns dazu, die helfen, lokale Verzerrungen auszugleichen, etwa wenn der Code auf einer gewölbten Verpackung klebt.
Zwischen den Finder Patterns liegen Timing Patterns, also Reihen aus abwechselnd schwarzen und weißen Modulen, mit denen der Scanner die genaue Modulgröße bestimmt. Rundherum braucht jeder QR-Code eine weiße Ruhezone (Quiet Zone) von mindestens vier Modulen Breite, ohne die viele Scanner den Code nicht oder nur unsicher erkennen. Die eigentlichen Daten stehen in den vielen kleinen schwarz-weißen Quadraten dazwischen, die in einem definierten Zickzack-Muster abgelegt werden, beginnend an der unteren rechten Ecke. Daneben enthält der Code Format- und Versionsinformationen, die dem Scanner mitteilen, welche Größe und welche Fehlerkorrekturstufe vorliegt. Insgesamt ist die Struktur erstaunlich elegant und übersteht erhebliche Beschädigungen, eine Eigenschaft, die wir uns gleich noch genauer ansehen werden.
ISO/IEC 18004: 40 Versionen, von Briefmarkengröße bis Plakatformat
Der QR-Code ist seit dem Jahr 2000 als internationaler Standard unter der Bezeichnung ISO/IEC 18004 normiert; die aktuell gültige Fassung ist die Revision aus dem Jahr 2024, die unter anderem klarere Vorgaben für die Reflexion auf gedruckten Materialien enthält. Der Standard definiert 40 verschiedene Versionen (Größen) eines QR-Codes. Version 1 ist 21 mal 21 Module groß und passt damit auf eine Visitenkarte; Version 40 misst 177 mal 177 Module und füllt im Druck bequem ein DIN-A4-Blatt. Jede Erhöhung um eine Version fügt vier Module pro Seite hinzu, was die Datenkapazität ungefähr quadratisch ansteigen lässt.
Welche Version ein Encoder wählt, hängt vom Datenvolumen und der gewünschten Fehlerkorrekturstufe ab. Für eine kurze URL mit 30 Zeichen reicht meist Version 2 oder 3 (25 mal 25 oder 29 mal 29 Module), für eine vCard mit Foto, langer Telefonnummer und Webseite kann es schnell Version 10 oder 15 werden. Wer mit unserem QR-Code-Generator arbeitet, sieht den Effekt direkt: längere Eingaben erzeugen sichtbar dichtere Codes. Damit das Endergebnis trotzdem zuverlässig scanbar bleibt, sollte die Modulgröße im Druck mindestens 0,25 bis 0,3 Millimeter betragen, im Idealfall einen Millimeter, vor allem dann, wenn die Codes aus größerer Entfernung gescannt werden.
Vier Encoding-Modi: Zahlen, ASCII, Bytes, Kanji
Damit ein QR-Code möglichst kompakt bleibt, definiert ISO/IEC 18004 vier Modi, in denen Daten codiert werden können. Der Encoder wählt für jedes Segment den effizientesten Modus und kann sie sogar innerhalb desselben Codes mischen:
- Numeric Mode: nur Ziffern 0 bis 9. Maximalkapazität bei Version 40 und niedriger Fehlerkorrektur: 7089 Ziffern. Genutzt zum Beispiel für Sendungsnummern und Bankkontodaten.
- Alphanumeric Mode: Großbuchstaben A bis Z, Ziffern und neun Sonderzeichen (Leerzeichen, Dollar, Prozent, Stern, Plus, Minus, Punkt, Slash, Doppelpunkt). Maximalkapazität: 4296 Zeichen. Achtung: keine Kleinbuchstaben, deshalb sind URLs in diesem Modus oft kürzer als gewünscht.
- Byte Mode (Binary): 8-Bit-Bytes, in der Praxis fast immer als UTF-8 interpretiert. Maximalkapazität: 2953 Byte. Das ist der Modus für reguläre URLs (mit Klein- und Großbuchstaben), vCards, JSON-Daten und beliebige Binärinhalte.
- Kanji Mode: speichert japanische Kanji und Katakana in 13 Bit pro Zeichen, statt der sonst nötigen 16 Bit. Maximalkapazität: 1817 Zeichen. Genau dieser Modus war Haras Hauptmotivation, weil die Toyota-Bauteile mit japanischen Bezeichnungen versehen waren.
Vier Fehlerkorrekturstufen: warum sich der QR-Code selbst repariert
Eines der raffiniertesten Merkmale des QR-Codes ist die eingebaute Fehlerkorrektur. Selbst wenn ein erheblicher Teil der Module zerstört oder verdeckt ist, kann der Scanner die ursprünglichen Daten rekonstruieren. ISO/IEC 18004 definiert dafür vier Stufen, die jeweils einen festen Prozentsatz der Code-Module für redundante Informationen reservieren:
- Level L (Low): rekonstruiert bis zu 7 % beschädigter Module. Erzeugt den kleinsten Code für eine gegebene Datenmenge, eignet sich für saubere, ungeschützte Anwendungen wie Display-Bildschirme.
- Level M (Medium): rekonstruiert bis zu 15 %. Standardwahl der meisten Generatoren und der vernünftige Kompromiss zwischen Größe und Robustheit.
- Level Q (Quartile): rekonstruiert bis zu 25 %. Empfehlenswert für Drucke auf rauen Oberflächen, gefährdete Außenwerbung und alles, was tatsächlich beschmutzt werden kann.
- Level H (High): rekonstruiert bis zu 30 %. Maximalwert, vorgesehen für industrielle Umgebungen mit Schmutz, Öl, Hitze oder mechanischer Belastung sowie für QR-Codes mit eingebettetem Logo.
Hinter dieser Fehlerkorrektur steckt der mathematische Algorithmus Reed-Solomon, benannt nach Irving S. Reed und Gustave Solomon, die ihn 1960 am MIT veröffentlichten. Reed-Solomon ist derselbe Code, der auf Audio-CDs, DVDs und in Satellitenübertragungen verwendet wird, was nicht zufällig ist: er rechnet mit Polynomen über endlichen Körpern und kann beschädigte Symbole rekonstruieren, solange ihre Anzahl unter einer berechenbaren Schwelle bleibt. Praktisch bedeutet das: ein QR-Code auf Level H bleibt lesbar, selbst wenn fast ein Drittel der Fläche durch ein Logo, einen Fleck oder einen Kratzer überdeckt ist. Genau aus diesem Grund kann man in QR-Codes Markenlogos einbetten, ohne dass sie aufhören zu funktionieren.
Vor und nach COVID-19: der späte Durchbruch im Westen
In Asien war der QR-Code schon lange vor der Pandemie alltäglich. In China sind WeChat Pay und Alipay seit etwa 2014 die dominierenden Zahlungsmethoden, und beide funktionieren über QR-Codes, die der Kunde auf seinem Handy scannt oder selbst vom Händler scannen lässt. In Japan und Korea sind QR-Codes seit den 2000er Jahren auf Visitenkarten, in U-Bahn-Stationen und für Mobile-Coupons fest etabliert. Im Westen dagegen blieb der QR-Code rund ein Jahrzehnt lang ein Nischen-Phänomen: Werbeagenturen klebten ihn auf Plakate, die Quote der tatsächlichen Scans war jedoch verschwindend gering, weil die meisten Smartphones eine eigene QR-App brauchten, die kaum jemand installiert hatte.
Zwei Entwicklungen änderten das. Erstens integrierte Apple ab iOS 11 im Jahr 2017 einen QR-Scanner direkt in die Kamera-App; Google zog mit Lens und der Standard-Kamera-Integration auf Android nach. Damit war zum ersten Mal jedes Smartphone ein Standard-QR-Reader, ohne dass der Nutzer etwas installieren musste. Zweitens kam 2020 die Pandemie. Innerhalb weniger Wochen verschwanden gedruckte Speisekarten und wurden durch QR-Codes ersetzt, die auf eine Online-Karte verlinken; Cafés, Bars und Imbisse zogen nach, dann Supermarktkassen, Veranstaltungsorte und sogar Behörden mit Kontaktnachverfolgungs-Formularen. Was vorher ein technischer Außenseiter war, wurde innerhalb eines Jahres ein Standardelement der westlichen Alltagsinfrastruktur und ist es seitdem geblieben, weil die Bequemlichkeit für die Anbieter (sofort aktualisierbar, keine Druckkosten) zu groß war, um zurückzukehren.
Die wichtigsten Anwendungen heute
Der QR-Code ist heute kein einzelnes Werkzeug mehr, sondern eine ganze Familie von Anwendungen mit jeweils eigenen Konventionen über das, was in der URL kodiert wird:
- Zahlungen: WeChat Pay, Alipay, PayPay, Brasiliens PIX. In der EU steht der EPC SEPA QR-Code für SEPA-Überweisungen direkt im Banking-Standard, definiert vom European Payments Council. Er kodiert IBAN, Empfänger, Betrag und Verwendungszweck in einem festen Textformat, das jede gängige Banking-App lesen kann.
- WLAN-Zugangsdaten: das Format
WIFI:S:Netzname;T:WPA;P:Passwort;;wird von iOS, Android und vielen Routern erkannt. Der Hotelgast scannt den Code und ist verbunden, ohne dass jemand das Passwort an die Tafel schreibt. - vCard, Kalendereinträge, Bitcoin-Adressen: standardisierte Textformate, die der QR-Code transportiert. Auf der Visitenkarte ein QR-Code im vCard-Format spart das händische Abtippen aller Kontaktdaten.
- Tickets und Boarding-Pässe: Bahn, Bus, Flug, Konzert, Stadion. Hier wird der QR-Code zum signierten oder verschlüsselten Sicherheitsausweis. Wer einen Boarding-Pass speichert, kann ihn mit unserem Base64-Encoder/Decoder untersuchen, falls man wissen will, was in den binären Anteilen steckt.
Quishing: wenn der QR-Code zur Phishing-Falle wird
Mit dem Massenerfolg kamen auch die Missbrauchsfälle. Sicherheitsforscher haben für das Aufkleben gefälschter QR-Codes auf reale Codes den Begriff Quishing (eine Wortmischung aus QR und Phishing) geprägt. Klassische Beispiele aus den Jahren 2023 bis 2025: gefälschte Parkschein-QR-Codes auf Parkautomaten in mehreren europäischen Städten, die nicht zur städtischen Bezahlseite, sondern zu einer nachgebauten Kreditkarten-Falle führten; Aufkleber auf E-Auto-Ladesäulen, die zu falschen Apps oder zu Kreditkarten-Eingabemasken weiterleiteten; angebliche Bank-QR-Codes in Phishing-Briefen, die statt zur echten Banking-Seite zu einer perfekt nachgebauten Login-Seite führten.
Die wichtigste Faustregel: immer die Vorschau-URL prüfen, die das Smartphone vor dem Öffnen anzeigt, und nie blind auf Öffnen tippen. Bei physischen QR-Codes auf öffentlichen Geräten lohnt sich der Blick, ob ein Aufkleber über einem anderen klebt; das ist das klassische Quishing-Muster. Misstrauisch sollte man immer dann werden, wenn der QR-Code zu einem URL-Shortener führt, der die echte Ziel-URL verbirgt. Wenn du eine Ziel-URL prüfen oder kodierte Zeichen entschlüsseln willst, ist unser URL-Encoder/Decoder hilfreich, um Sonderzeichen lesbar zu machen und versteckte Parameter sichtbar zu bekommen.
QR-Codes mit Logo und Farbe: Designfreiheit dank Fehlerkorrektur
Dass ein QR-Code ein Markenlogo in der Mitte tragen kann, ist keine Werbe-Magie, sondern eine direkte Konsequenz der Reed-Solomon-Fehlerkorrektur. Bei Level H verträgt der Code bis zu 30 Prozent Verlust, was etwa einem 25- bis 28-prozentigen Logo-Anteil in der Mitte entspricht (mit etwas Sicherheitsabstand). Wichtig ist, dass die drei Finder Patterns in den Ecken unangetastet bleiben; ohne sie kann der Scanner den Code nicht ausrichten. Die Designvarianten reichen heute von runden Modulen über Punkt-Muster bis zu eingebetteten Foto-Hintergründen.
Auch Farbe ist möglich, solange der Kontrast zwischen Hintergrund und Modulen ausreichend hoch ist; Faustregel ist ein Helligkeitsverhältnis von mindestens 50 Prozent, idealerweise mit dunklen Modulen auf hellem Hintergrund, da viele ältere Scanner mit invertierten Codes (hell auf dunkel) Probleme haben. Mehrfarbige Hintergrund-Effekte oder Verläufe funktionieren in der Praxis nur, wenn die einzelnen Module weiterhin als kompakte, klar gefärbte Punkte stehen. Wer kreativ wird, sollte den Code unbedingt auf mehreren Smartphones testen, weil verschiedene Kamera-Sensoren unterschiedlich empfindlich auf Kontrast reagieren.
Statische und dynamische QR-Codes
QR-Codes lassen sich in zwei grundsätzlich verschiedene Klassen einteilen. Ein statischer QR-Code kodiert die Ziel-URL direkt. Wer den Code einmal gedruckt hat, kann das Ziel nicht mehr ändern, ohne den Code neu zu drucken. Statische Codes haben den Vorteil, dass sie ohne dritte Partei funktionieren und nicht offline gehen können, solange die Ziel-URL existiert. Sie sind die richtige Wahl für langlebige Installationen wie Wegbeschilderungen, Speisekarten in Reisemagazinen oder vCards auf Visitenkarten, also überall dort, wo das Ziel über Jahre stabil bleibt.
Ein dynamischer QR-Code kodiert dagegen eine kurze Weiterleitungs-URL eines QR-Anbieters, der den Nutzer dann auf das eigentliche Ziel umleitet. Das hat den Vorteil, dass man das Ziel jederzeit ändern kann, ohne den Druck zu erneuern, und dass man die Anzahl der Scans, die Länder und die Zeitpunkte messen kann; das ist faktisch ein URL-Shortener mit grafischer Verpackung. Der Nachteil: man hängt an der Verfügbarkeit und Vertrauenswürdigkeit des Anbieters, und wenn der Dienst dichtmacht, sind die gedruckten Codes plötzlich tot. Im Marketing sind dynamische Codes der Standard, in der Sicherheits- oder Behördenkommunikation aus genau diesem Grund eher unbeliebt.
Häufige Fragen
Kann ein QR-Code gehackt werden?
Der Code selbst nicht; er ist ein offen lesbares Datenmuster nach einer veröffentlichten Norm. Was angegriffen werden kann, ist die Ziel-URL: durch einen aufgeklebten Fake-Code (Quishing), durch einen kompromittierten Server am anderen Ende oder durch einen URL-Shortener, der das Ziel später ändert. Sicherheitsrelevante QR-Codes wie Tickets oder Banking-QR enthalten deshalb in der Regel signierte Daten, deren Echtheit die App vor dem Akzeptieren prüft.
Wie klein kann ein QR-Code gedruckt werden?
Theoretisch sehr klein, praktisch begrenzt das die Modulgröße und die Auflösung der scannenden Kamera. Als Faustregel gilt: die Modulgröße sollte beim Druck mindestens 0,25 Millimeter betragen, besser 0,33 Millimeter; das ergibt bei Version 2 (25 mal 25 Module) etwa 8 Millimeter Kantenlänge. Für Code-Größen unter 10 Millimeter Kantenlänge sollte man besonders kontrastreich drucken und eine niedrige Versionsnummer wählen, um die einzelnen Module für das Smartphone-Auge groß genug zu halten.
Warum sehen QR-Codes mit demselben Inhalt manchmal unterschiedlich aus?
Das liegt an den sogenannten Maskenmustern. ISO/IEC 18004 definiert acht verschiedene Maskenfunktionen, die ein Encoder über den Datenbereich legen kann, um zu verhindern, dass zufällige Wiederholungen die Finder Patterns nachahmen oder andere Muster entstehen, die einen Scanner verwirren. Der Encoder probiert in der Regel alle acht Masken durch und wählt diejenige mit dem niedrigsten Verwirrungs-Score nach den Regeln des Standards. Je nach Bibliothek und Version kann das Ergebnis daher leicht unterschiedlich aussehen, auch wenn der eingebettete Inhalt identisch ist.
Kommentare
Die Kommentare werden von Disqus bereitgestellt. Bevor sie geladen werden, brauchen wir deine Einwilligung — Disqus ist ein Drittanbieter und setzt eigene Cookies.