Der QR-Code ist nicht einfach ein hübsches Pixelmuster, sondern ein präzise normiertes Datenformat. Die internationale Norm ISO/IEC 18004 legt fest, wie ein QR-Code aufgebaut ist, wie Daten codiert werden und wie viel Beschädigung er verträgt. Genau diese Norm ist der Grund, warum derselbe Code auf einem iPhone, einem Android-Handy und einem Industrie-Scanner identisch gelesen wird, und warum ein zerkratzter, teils überklebter oder mit Logo versehener Code trotzdem funktioniert. In diesem Ratgeber erklären wir die vier Fehlerkorrektur-Level L, M, Q und H, die maximale Datenmenge je Version und die Mathematik hinter der erstaunlichen Robustheit von QR-Codes.
Was ist ISO/IEC 18004 und woher kommt der QR-Code?
Der QR-Code (Quick Response Code) wurde 1994 vom japanischen Unternehmen Denso Wave entwickelt, einer Tochter des Toyota-Konzerns. Ziel war es, Bauteile in der Automobilfertigung schneller zu erfassen als mit klassischen Strichcodes, die nur wenige Zeichen speichern und nur in einer Richtung gelesen werden. Der QR-Code speichert Daten zweidimensional, also waagerecht und senkrecht, und fasst dadurch ein Vielfaches an Information auf gleicher Fläche.
Damit der Code weltweit einheitlich funktioniert, wurde er normiert. Die erste internationale Fassung erschien im Jahr 2000 als ISO/IEC 18004:2000, gefolgt von Überarbeitungen 2006 und 2015. Die aktuell gültige Ausgabe ist ISO/IEC 18004:2024. Die Norm trägt den Titel "Information technology, Automatic identification and data capture techniques, QR Code bar code symbology specification". Sie definiert nicht nur den klassischen QR-Code, sondern auch den platzsparenden Micro-QR-Code. Wichtig zu wissen: Denso Wave hält zwar Patente am QR-Code, hat aber erklärt, die standardisierte Symbologie nicht zur Lizenzierung durchzusetzen. Deshalb darf jeder QR-Codes erzeugen und lesen, ohne Gebühren zu zahlen.
Kurz gefasst
ISO/IEC 18004 ist das technische Regelwerk hinter jedem QR-Code. Es legt Module, Codierung und Fehlerkorrektur so fest, dass jeder normkonforme Scanner jeden normkonformen Code lesen kann, unabhängig vom Hersteller.
Der Aufbau eines QR-Codes nach der Norm
Ein QR-Code besteht aus einem quadratischen Raster schwarzer und weißer Felder, die als Module bezeichnet werden. Die Norm schreibt mehrere feste Funktionsmuster vor, die ein Scanner zuerst erkennt, bevor er die eigentlichen Daten ausliest. Die drei großen Quadrate in den Ecken heißen Finder-Pattern und sagen dem Scanner, wo der Code beginnt und wie er gedreht ist. Kleinere Alignment-Pattern korrigieren Verzerrungen bei großen Codes oder schräger Aufnahme.
Zwischen den Finder-Pattern verläuft das Timing-Pattern, eine abwechselnd schwarz-weiße Reihe, an der der Scanner das Modulraster ausmisst. Direkt neben den Finder-Pattern liegen Format- und Versionsinformationen: Sie verraten dem Scanner das gewählte Fehlerkorrektur-Level und die Maskierung. Erst der restliche Bereich, der Datenbereich, trägt die eigentliche Nutzlast plus die redundanten Fehlerkorrektur-Codewörter. Eine sogenannte Maske wird über die Daten gelegt, damit keine großen gleichfarbigen Flächen entstehen, die ein Scanner mit den Funktionsmustern verwechseln könnte.
Versionen: von 21x21 bis 177x177 Modulen
ISO/IEC 18004 definiert 40 Versionen. Version 1 misst 21 mal 21 Module, jede weitere Version fügt vier Module pro Seite hinzu. Die größte Version 40 hat damit 177 mal 177 Module. Je höher die Version, desto mehr Daten passen hinein, desto dichter wird der Code aber auch und desto schwieriger lässt er sich auf kleiner Fläche oder aus der Entfernung scannen. Die folgende Tabelle zeigt die maximale Kapazität der größten Version 40, aufgeschlüsselt nach Datentyp und Fehlerkorrektur-Level.
Maximale Datenkapazität (Version 40)
In der Praxis sind diese Höchstwerte selten. Eine typische URL belegt nur wenige Dutzend Zeichen und passt bequem in eine niedrige Version. Die vier Modi (numerisch, alphanumerisch, Byte, Kanji) erklären die Unterschiede: Reine Ziffern lassen sich am dichtesten packen, weil drei Ziffern in nur zehn Bit codiert werden. Der alphanumerische Modus deckt Großbuchstaben A bis Z, Ziffern und einige Sonderzeichen ab. Der Byte-Modus kodiert beliebige Daten inklusive Kleinbuchstaben und UTF-8, braucht aber acht Bit pro Zeichen.
Fehlerkorrektur-Level L, M, Q und H im Detail
Das Herzstück der Robustheit ist die Reed-Solomon-Fehlerkorrektur, dieselbe Technik, die auch Audio-CDs und Datenübertragungen vor Lesefehlern schützt. Beim Erzeugen eines QR-Codes werden zusätzlich zu den eigentlichen Daten redundante Codewörter berechnet und mit eingebettet. Geht beim Lesen ein Teil verloren, etwa weil ein Stück fehlt oder verschmutzt ist, kann der Scanner die ursprünglichen Daten aus den verbliebenen Codewörtern rekonstruieren. ISO/IEC 18004 sieht dafür vier Level vor, die unterschiedlich viel Redundanz reservieren.
Die vier Fehlerkorrektur-Level im Vergleich
Die Prozentangaben beziehen sich auf die Codewörter, nicht exakt auf die sichtbare Fläche, liefern aber eine gute Faustregel: Bei Level H darf grob ein Drittel des Codes fehlen, ohne dass die Information verloren geht. Genau das macht die populären QR-Codes mit Firmenlogo in der Mitte möglich. Das Logo überdeckt einen Teil der Module, und solange die überdeckte Fläche innerhalb der Fehlerkorrektur-Reserve bleibt, rekonstruiert der Decoder die fehlenden Codewörter. Wer ein Logo einbaut, sollte deshalb Level Q oder H wählen.
Konkretes Beispiel: WLAN-Daten in einem QR-Code
QR-Codes speichern nicht nur URLs. Über vereinbarte Textschemata lassen sich strukturierte Daten ablegen, die Scanner-Apps erkennen. Ein WLAN-QR-Code etwa enthält im Inneren schlicht eine Textzeichenkette nach einem festen Muster. Wird dieser Text dekodiert, erkennt das Betriebssystem die WLAN-Konfiguration und bietet die Verbindung an:
WIFI:T:WPA;S:Gaeste-WLAN;P:Sommer2026!;H:false;; Dabei steht T für den Verschlüsselungstyp (WPA, WEP oder nopass), S für die SSID (den Netzwerknamen), P für das Passwort und H dafür, ob das Netz versteckt ist. Diese 49 Zeichen passen schon in eine niedrige QR-Version. Genau diesen Text liest unser Scanner aus und zeigt SSID und Passwort im Klartext an, ganz ohne Daten an einen Server zu senden.
Achtung: Hohe Fehlerkorrektur schützt nicht vor Manipulation
Ein Level-H-Code ist robust gegen Beschädigung, aber nicht gegen Betrug. Kriminelle überkleben echte Codes mit eigenen Aufklebern, die zu Phishing-Seiten führen (sogenanntes Quishing). Die Fehlerkorrektur hilft hier nicht, denn der gefälschte Code ist technisch fehlerfrei. Prüfen Sie vor dem Öffnen immer die angezeigte Ziel-URL. Wie das geht, lesen Sie in unserem Ratgeber zu QR-Code-Phishing.
Warum beschädigte QR-Codes noch lesbar sind
Die Robustheit eines QR-Codes ergibt sich aus dem Zusammenspiel mehrerer Mechanismen der Norm. Erstens verteilt das sogenannte Interleaving die Daten- und Fehlerkorrektur-Codewörter über die gesamte Fläche, statt sie blockweise zu gruppieren. Ein Kratzer, der einen zusammenhängenden Bereich zerstört, trifft dadurch nur wenige Codewörter pro Block, die sich jeweils einzeln korrigieren lassen. Zweitens sorgen die Finder- und Alignment-Pattern dafür, dass der Code selbst dann erkannt wird, wenn er schräg, gewölbt oder gespiegelt aufgenommen wurde.
Reed-Solomon kann pro Block zwei Arten von Problemen beheben: Erasures (Module, deren Position als unlesbar bekannt ist) und Errors (falsch gelesene Module). Eine bekannte Position lässt sich effizienter korrigieren als ein unbekannter Fehler, weshalb die nominale Prozentangabe in der Praxis je nach Schadensbild variiert. Unterm Strich gilt: Solange genug intakte Codewörter übrig bleiben, liefert der Decoder exakt die Originaldaten zurück, ohne Annäherung oder Ratespiel. Diese Eigenschaft macht QR-Codes ideal für Etiketten auf Werkstücken, Tickets in Hosentaschen oder Plakate, die Wind und Wetter ausgesetzt sind.
Welches Level sollte man wählen?
Die Wahl des Fehlerkorrektur-Levels ist ein Kompromiss zwischen Datenmenge und Widerstandsfähigkeit. Wer einen kurzen Link auf einem hochwertigen Druck oder Bildschirm zeigt, kommt mit Level L oder M aus und hält den Code klein und gut scanbar. Für Aufkleber, die im Freien hängen, im Fenster kleben oder von Kunden angefasst werden, lohnt sich Level Q, weil Schmutz, Sonnenlicht und Abrieb häufiger werden. Level H ist die Wahl, sobald ein Logo eingebettet wird oder der Code in einer rauen Industrieumgebung dauerhaft lesbar bleiben muss.
Ein häufiger Fehler ist es, das höchste Level zu wählen, weil es am sichersten klingt. Höhere Fehlerkorrektur bedeutet aber mehr Module bei gleicher Datenmenge, also einen dichteren Code, der bei kleinem Druck oder schlechter Kamera schwerer zu lesen ist. Genauso wichtig wie das Level sind zwei Dinge, die viele unterschätzen: ausreichender Kontrast zwischen Vordergrund und Hintergrund sowie die vorgeschriebene Ruhezone von mindestens vier Modulen Breite rundherum. Fehlt dieser helle Rand, scheitert das Auslesen, egal wie hoch das Fehlerkorrektur-Level ist.
QR-Code auslesen, was steckt drin? Jetzt direkt im Browser, 100 % lokal:
Zum Scanner →