QR-Code-Grundlagen

Wie QR-Codes wirklich funktionieren: Von Pixeln zu Daten

Wie ein QR-Code ein Raster aus schwarzen und weißen Quadraten in einen Link, eine Nachricht oder WLAN-Daten verwandelt — der Scan- und Decodiervorgang einfach erklärt.

Zu verstehen, wie QR-Codes funktionieren, bedeutet, einer winzigen Reise zu folgen: Eine Kamera sieht ein Raster aus schwarzen und weißen Quadraten, orientiert sich, tastet jedes Quadrat als 1 oder 0 ab und baut die ursprüngliche Nachricht wieder auf — alles in einem Sekundenbruchteil.

Es fühlt sich wie Magie an, wenn du dein Handy auf ein Plakat richtest und eine Webseite erscheint. Doch dahinter steckt keine Magie — nur ein wunderschön konstruierter Ablauf, der Pixel in Daten verwandelt. Gehen wir ihn Schritt für Schritt durch, vom Moment, in dem Licht auf die Kamera trifft, bis zum Augenblick, in dem der Link auftaucht. 🐾

Woraus besteht ein QR-Code?

Ein QR-Code ist ein Raster aus kleinen Quadraten, die Module heißen. Jedes Modul ist entweder dunkel oder hell, und dieses Dunkel oder Hell steht für eine einzelne Binärziffer — ein Bit. Dunkel bedeutet meist 1, hell meist 0. Reihe genug dieser Bits aneinander und du hast Bytes, und aus Bytes lassen sich Text, Links oder alles andere bauen.

Wenn dir Bits und Bytes noch schwammig erscheinen, ist unsere Einführung zu Binär, Bits und Bytes ein sanfter Einstieg. Die Kurzfassung: Alles in einem QR-Code sind letztlich Einsen und Nullen.

Schritt 1: Wie findet ein Scanner den Code?

Bevor er überhaupt etwas lesen kann, muss der Scanner zwei Fragen beantworten: Wo ist der Code? und In welche Richtung ist er gedreht? QR-Codes lösen das mit drei großen verschachtelten Quadraten in den Ecken, den Suchmustern (finder patterns).

Jedes Suchmuster hat ein ganz bestimmtes Verhältnis von Dunkel zu Hell zu Dunkel, wenn man eine Linie darüber zieht — 1:1:3:1:1. Dieses Verhältnis ist in gewöhnlichen Bildern selten, sodass Software über das Bild streichen, drei dieser Markierungen finden und sofort wissen kann, dass sie einen QR-Code vor sich hat. Weil es drei davon sind (nicht vier), kann der Scanner außerdem erkennen, welche Ecke fehlt, und damit, wie der Code gedreht ist.

Das ist das „Quick" in Quick Response: Diese drei Eckquadrate erlauben, den Code aus fast jedem Winkel zu lesen, kopfüber eingeschlossen.

Schritt 2: Wie richtet er das Raster aus?

Den Code zu finden reicht nicht — der Scanner muss ein präzises Raster darüberlegen, damit er genau weiß, wo jedes Modul sitzt. Mehrere Elemente helfen dabei:

  • Taktmuster (timing patterns): eine gepunktete Linie aus abwechselnd dunklen und hellen Modulen, die zwischen den Suchmustern verläuft und wie ein Lineal die Modulgröße und -anzahl vorgibt.
  • Ausrichtungsmuster (alignment patterns): kleinere verschachtelte Quadrate (in allen außer den winzigsten Codes), die dem Scanner erlauben, Perspektive und Wölbung auszugleichen, sodass ein Code auf einer gebogenen Dose oder einem geneigten Handy trotzdem lesbar bleibt.
  • Versions- und Formatinformationen: reservierte Streifen nahe den Suchmustern, die dem Scanner die Größe des Codes und seine Fehlerkorrektur-Einstellungen mitteilen.

Jeder dieser Teile hat eine Rolle — unser Leitfaden zur Anatomie eines QR-Codes benennt und verortet sie alle.

Schritt 3: Wie verwandelt er Quadrate in Bits?

Sobald das Raster festsitzt, tastet der Scanner die Mitte jedes Moduls ab und entscheidet: Ist das dunkel oder hell? Dunkel wird zu 1, hell zu 0. Jetzt ist aus dem Bild ein langer Strom von Bits geworden, angeordnet in einem bestimmten Zickzack-Pfad, der sich die Spalten des Codes hinauf und hinunter windet.

Die Maske muss zuerst herunter

Hier kommt eine Wendung. Um den Code lesbar zu halten, verwürfeln QR-Encoder das Muster mit einer Maske — einem sich wiederholenden Muster, das per XOR über die Daten gelegt wird, um große Blöcke gleichfarbiger Quadrate aufzubrechen, die Scanner verwirren würden. Die Formatinformationen sagen dem Lesegerät, welche der acht Masken verwendet wurde, sodass es sie rückgängig machen kann. Unser Beitrag zur Datenmaskierung erklärt, warum diese zufällig wirkende Textur Absicht ist.

Schritt 4: Wie behebt er Fehler?

Codes in der echten Welt werden zerkratzt, verschmiert, schlecht gedruckt oder teilweise von einem Logo verdeckt. QR-Codes gehen damit mithilfe der Reed–Solomon-Fehlerkorrektur um, einem mathematischen Verfahren, das redundante Daten hinzufügt, sodass sich die ursprüngliche Nachricht selbst dann rekonstruieren lässt, wenn ein Teil fehlt oder falsch ist.

Je nach der beim Erstellen gewählten Stufe — L, M, Q oder H — kann sich der Code von rund 7 %, 15 %, 25 % oder 30 % Beschädigung erholen. Der Scanner nutzt die Fehlerkorrektur-Bytes, um Fehler vor dem Decodieren zu erkennen und zu reparieren. Unsere Leitfäden zur QR-Fehlerkorrektur und zu Reed–Solomon, einfach erklärt gehen ohne die schwere Algebra tiefer.

StufeWiederherstellungAm besten für
L~7 %Saubere digitale Bildschirme
M~15 %Alltäglicher Druck
Q~25 %Industrielle oder schmutzige Umgebungen
H~30 %Logos, raue Bedingungen

Schritt 5: Wie decodiert er die Nachricht?

Jetzt hat der Scanner saubere Bits. Die ersten paar Bits bilden einen Modus-Indikator, der angibt, welche Art von Daten folgt — numerisch, alphanumerisch, Byte (für allgemeinen Text und URLs) oder Kanji. Die nächsten Bits geben die Länge an. Dann werden die eigentlichen Datenbits gemäß diesem Modus interpretiert. Unser Artikel zu den Codierungsmodi schlüsselt jeden einzelnen auf.

Sobald die Bytes in Text decodiert sind, erkennt das Handy, worum es sich handelt — eine URL, WLAN-Daten, eine Kontaktkarte — und bietet die passende Aktion an, etwa das Öffnen eines Browsers. Und das ist der gesamte Ablauf: orten → ausrichten → abtasten → entmasken → fehlerkorrigieren → decodieren.

Warum ist die Ruhezone wichtig?

Ein leicht vergessener Bestandteil sitzt außerhalb des Codes: die Ruhezone, ein schlichter Rand (etwa vier Module breit), der das Ganze umgibt. Ohne sie können nahegelegener Text oder Grafiken in die Suchmuster hineinlaufen, und der Scanner rastet nie ein. Sie ist der Grund, warum ein Code, der eng an anderen Inhalt gequetscht ist, sich manchmal einfach nicht lesen lässt. Siehe unseren Beitrag zur Ruhezone, warum sich dieser leere Raum bezahlt macht.

Kann ich das selbst beobachten?

So halbwegs! Ein geübtes Auge kann die Suchmuster erkennen, die Format-Bits lesen und sogar den Codierungsmodus von Hand herausfinden. Es ist eine unterhaltsame Übung — unser Artikel zum Lesen eines QR-Codes mit dem bloßen Auge zeigt, wie weit du kommst, bevor die Maskierung es zu knifflig macht.

Wenn du einen sauberen, ehrlichen Code zum Untersuchen möchtest, kannst du mit QR Puppy einen kostenlosen QR-Code erstellen — statisch, ohne Tracking, ohne Ablaufdatum.

Häufig gestellte Fragen

Wie schnell wird ein QR-Code gescannt?

Meist in einem Sekundenbruchteil. Moderne Handys lassen den Ablauf aus Orten, Ausrichten, Abtasten und Decodieren fortlaufend über den Kamerastream laufen, sodass ein gültiger Code fast augenblicklich decodiert wird, sobald er genug vom Bild ausfüllt.

Warum kann ich einen QR-Code kopfüber scannen?

Die drei Suchmuster sitzen in drei Ecken, nicht in vier. Indem der Scanner erkennt, welcher Ecke ein Suchmuster fehlt, ermittelt er die Ausrichtung des Codes und dreht ihn gedanklich zurecht, bevor er liest — so funktioniert jeder Winkel.

Beeinflusst die Farbe eines QR-Codes das Scannen?

Ja. Scanner sind auf den Kontrast zwischen dunklen und hellen Modulen angewiesen. Schwarz auf Weiß ist am sichersten; kontrastarme oder invertierte Farbschemata können scheitern. Wenn du Farbe verwenden musst, halte die dunklen Module wirklich dunkel und den Hintergrund wirklich hell.

Was passiert, wenn ein Teil des Codes fehlt?

Dank der Reed–Solomon-Fehlerkorrektur kann ein Code rund 7 % bis 30 % von sich verlieren (je nach Stufe) und trotzdem decodiert werden. Jenseits dieser Schwelle kann der Scanner die Daten nicht mehr rekonstruieren und der Code lässt sich nicht lesen.

Können zwei verschiedene QR-Codes dieselben Daten enthalten?

Zwei Codes mit denselben Daten, derselben Version, derselben Fehlerstufe und derselben Maske sehen identisch aus. Ändere irgendeine Codierungsentscheidung — etwa die Maske oder die Fehlerstufe — und dieselbe Nachricht kann einen anders texturierten, aber ebenso gültigen Code ergeben.

Erstelle einen QR-Code auf die ehrliche Art 🐾

Für immer kostenlos, kein Tracking, kein Ablauf — direkt in deinem Browser erzeugt.

🎨 QR-Code erstellen →