QR-Code-Decoder

Zieh ein QR-Code-Bild hier hinein und sieh alles, was das Symbol enthält: die decodierten Nutzdaten, in ihre Felder zerlegt, die Version und die Modulzahl, die Fehlerkorrekturstufe, das Maskenmuster, die Kodierungsmodi und die Rohbytes in Hex. Die Decodierung passiert in diesem Tab, das Bild verlässt dein Gerät also nie.

Zieh ein QR-Code-Bild hierher oder füg eines ein

PNG, JPG, WebP oder GIF

Im Browser decodiert. Die Datei wird nie hochgeladen, und nichts daraus wird gespeichert oder irgendwohin geschickt.

Was ein QR-Code-Decoder zeigt und ein Scanner nicht

Ein QR-Code-Decoder ist ein Programm, das einen QR-Code aus einem Bild liest und die gespeicherten Daten zusammen mit der Struktur des Symbols ausgibt, das sie trägt. Eine Handykamera hört nach dem ersten Teil auf. Die Struktur erklärt, warum ein Code so groß ist, wie er ist, und was schiefging, wenn ein Generator etwas Unerwartetes erzeugt hat.

Die sechs Dinge in jedem QR-Code

Jeder QR-Code, vom Visitenkarten-Code mit 21 Modulen bis zu einem mit 177 Modulen, speichert dieselben sechs Informationen. ISO/IEC 18004, die QR-Code-Norm, definiert jede davon.

  • Die Version ist die Größe des Symbols, von 1 bis 40. Version 1 hat 21 x 21 Module, und jede Version fügt vier Module pro Seite hinzu, Version 40 hat also 177 x 177.
  • Die Fehlerkorrekturstufe ist L, M, Q oder H und stellt etwa 7%, 15%, 25% und 30% des Symbols wieder her. Eine höhere Stufe gibt mehr vom Symbol für Redundanz aus, dieselben Nutzdaten brauchen also eine größere Version.
  • Das Maskenmuster ist eines von acht Mustern, nummeriert von 0 bis 7, das Module umkehrt, damit der Code keine großen leeren Flächen und keine Formen enthält, die ein Suchmuster nachahmen. Zwei Codes mit identischen Daten und verschiedenen Masken sehen völlig unterschiedlich aus.
  • Die Kodierungsmodi sind numerisch, alphanumerisch, Byte und Kanji. Der numerische Modus packt drei Ziffern in 10 Bit und der alphanumerische zwei Zeichen in 11 Bit, während der Byte-Modus 8 Bit für jedes Zeichen ausgibt.
  • Die Nutzdaten sind der Text selbst: ein Link, WLAN-Zugangsdaten, eine Kontaktkarte. Ein QR-Code speichert Text und sonst nichts; was ein Handy damit macht, hängt davon ab, wie der Text beginnt.
  • Die Fehlerkorrektur-Codewörter sind die Reed-Solomon-Redundanz, mit der ein Decoder beschädigte Daten wiederherstellt. Sie werden beim Decodieren verbraucht, deshalb zeigt ein Decoder das Ergebnis und nicht die Codewörter.

Auf deinem Gerät decodiert, auch die Passwörter

Das Bild wird in diesem Browser-Tab decodiert und nie hochgeladen. Das zählt bei einem Decoder mehr als bei den meisten Werkzeugen, denn die Nutzdaten, die Leute untersuchen, sind die sensiblen: Ein WLAN-QR-Code enthält das Netzwerkpasswort als Klartext, und ein Code zur Einrichtung der Zwei-Faktor-Anmeldung enthält das Geheimnis, aus dem jeder künftige Anmeldecode entsteht.

Der Decoder zeigt ein WLAN-Passwort in einer eigenen Zeile, weil es zu lesen meist der Grund ist, aus dem der Code decodiert wurde. Bei einem Zwei-Faktor-Code listet der Decoder Aussteller und Konto auf, lässt das Geheimnis aber in den rohen Nutzdaten, wo das Kopieren eine bewusste Handlung sein muss.

So decodierst du einen QR-Code aus einem Bild

Vier Schritte von einer Bilddatei zum vollständigen Inhalt und zur Struktur des QR-Codes darin.

QR-Code erstellen
  1. 1

    Füg das Bild hinzu

    Zieh ein PNG, JPG, WebP oder GIF auf das Feld, wähl eine Datei oder füg einen Screenshot aus der Zwischenablage ein. Lass den hellen Rand um den Code im Ausschnitt, denn der Decoder nutzt ihn, um die Kanten des Symbols zu finden.

  2. 2

    Lies die Nutzdaten und ihre Felder

    Der decodierte Text erscheint vollständig, samt seinem Typ. Links werden in Schema, Domain, Pfad und Query-String zerlegt; WLAN-Codes in Netzwerkname, Sicherheitstyp und Passwort; Kontaktkarten in Name, Telefon und E-Mail.

  3. 3

    Prüf die Struktur des Symbols

    Version, Modulzahl, Fehlerkorrekturstufe, Maskenmuster und Kodierungsmodi stehen unter den Nutzdaten. Für die Versionen 1 bis 20 zeigt der Decoder außerdem, wie viele Bytes der Kapazität des Symbols die Nutzdaten belegen.

  4. 4

    Sieh dir bei Bedarf die Rohbytes an

    Der Hex-Dump zeigt die Nutzdaten genau so, wie sie gespeichert sind, vor der Zeichendecodierung. Dort suchst du nach einem unsichtbaren Zeichen, einer Byte-Order-Mark oder nach Text, der im falschen Zeichensatz gespeichert wurde.

Wann ein Decoder das richtige Werkzeug ist

Vier Situationen, in denen der Inhalt allein nicht reicht und die Struktur des QR-Codes die Antwort ist.

Einen QR-Code-Generator debuggen

Eine Generator-Bibliothek hat einen Code erzeugt, der größer ist als erwartet. Der Decoder zeigt die Ursache auf einen Blick: Fehlerkorrekturstufe H, wo M gemeint war, oder Nutzdaten aus Ziffern, die im Byte-Modus statt im numerischen Modus gespeichert wurden.

Herausfinden, warum ein Code so dicht ist

Eine lange Tracking-URL treibt einen Code auf Version 8 oder höher, mit Modulen, die für einen Druck bei 2 cm zu klein sind. Die Kapazitätszeile zeigt, wie viele Bytes die Nutzdaten belegen, und die Feldtabelle zeigt, welche Query-Parameter entfallen könnten.

Prüfen, was ein WLAN- oder Kontaktcode wirklich enthält

Bevor du einen Gäste-WLAN-Code druckst, decodiere ihn und lies die Felder. Ein falscher Sicherheitstyp oder ein verirrtes Leerzeichen im Passwort ist in der Tabelle sichtbar und im Muster unsichtbar.

Ein QR-Rätsel durcharbeiten

Bei einem QR-Code-Rätsel oder einer Capture-the-Flag-Aufgabe bestätigt der Decoder Version, Fehlerkorrekturstufe und Maske eines funktionierenden Codes, sodass sich eine Decodierung von Hand gegen eine bekannte Antwort prüfen lässt.

Wie ein QR-Code decodiert wird, Schritt für Schritt

Die zehn Schritte, die jeder QR-Code-Decoder ausführt, in ihrer Reihenfolge. Derselben Abfolge folgt ein Mensch, der einen QR-Code von Hand löst.

  • Die drei Suchmuster finden

    Der Decoder sucht nach dem Verhältnis 1:1:3:1:1 aus Dunkel und Hell, das eine Linie durch ein Suchmuster in jedem Winkel ergibt. Drei Suchmuster liefern Position, Größe und Drehung des QR-Codes; die Ecke ohne Suchmuster ist die untere rechte.

  • Die Version aus der Größe bestimmen

    Die Modulzahl folgt aus dem Abstand zwischen den Suchmustern, und die Version ist (Module - 17) / 4. Ab Version 7 speichert das Symbol die Versionsnummer außerdem zweimal als 18-Bit-Block neben den Suchmustern.

  • Die Formatinformation lesen

    Fünfzehn Bit neben den Suchmustern enthalten die Fehlerkorrekturstufe in 2 Bit, das Maskenmuster in 3 Bit und 10 Bit eigene Fehlerkorrektur. Die Formatinformation ist zweimal gespeichert, eine beschädigte Kopie stoppt die Decodierung also nicht.

  • Die feste Formatmaske entfernen

    Die 15 Formatbits werden vor dem Platzieren per XOR mit dem festen Muster 101010000010010 verknüpft, damit die Formatinformation nie nur aus Nullen besteht. Ein Decoder verknüpft sie per XOR mit demselben Muster, um die echten Werte zurückzugewinnen.

  • Die Datenmaske rückgängig machen

    Das in der Formatinformation genannte Maskenmuster wird erneut auf den Datenbereich angewendet, was die ursprünglichen Module wiederherstellt. Die Maskierung betrifft nur Daten- und Fehlerkorrekturmodule, nie Suchmuster, Taktmuster oder Ausrichtungsmuster.

  • Die Module im Zickzack lesen

    Die Daten werden in zwei Module breiten Spalten gelesen, beginnend in der unteren rechten Ecke, erst aufwärts, dann im nächsten Spaltenpaar abwärts, wobei jedes Funktionsmuster übersprungen wird. Acht Module ergeben ein Codewort.

  • Die Codewort-Blöcke entschachteln

    Größere Symbole teilen ihre Codewörter in mehrere Blöcke und verschachteln sie, damit ein Kratzer ein wenig von jedem Block beschädigt statt einen ganz. Der Decoder trennt die Blöcke wieder, bevor er sie korrigiert.

  • Die Reed-Solomon-Fehlerkorrektur anwenden

    Jeder Block wird mit seinen Fehlerkorrektur-Codewörtern geprüft und repariert. Dieser Schritt lässt einen QR-Code ein Logo über seiner Mitte überstehen, und an diesem Punkt scheitert ein Code mit zu viel Schaden vollständig, statt falsche Daten zu liefern.

  • Modusindikator und Zeichenzahl lesen

    Der korrigierte Bitstrom beginnt mit einem 4-Bit-Modusindikator: 0001 numerisch, 0010 alphanumerisch, 0100 Byte, 1000 Kanji, 0111 ECI. Darauf folgt eine Zeichenzahl, die im Byte-Modus bei den Versionen 1 bis 9 8 Bit lang ist.

  • Die Segmente bis zum Terminator decodieren

    Jedes Segment wird nach seinem Modus decodiert, und ein Symbol kann mehrere hintereinander enthalten. Die Daten enden an einem Terminator 0000, danach wird die restliche Kapazität mit den abwechselnden Füllbytes 11101100 und 00010001 aufgefüllt.

Der KoloQR-Generator mit einem QR-Code im Entwurf, bereit zum Herunterladen

Mach einen Code, der das Decodieren lohnt

KoloQR, ein kostenloser QR-Code-Generator mit runden und frei geformten QR-Codes, erstellt statische QR-Codes für Links, WLAN-Netzwerke, E-Mail, Telefonnummern und Social-Profile und exportiert sie als SVG, PDF, EPS oder PNG.

Jeder KoloQR-Code wird auf Fehlerkorrekturstufe H erzeugt, und genau das lässt Platz für ein Logo und für dekorative Modulmuster. Decodiere hier einen, und der Strukturbereich zeigt genau das. KoloQR erstellt keine dynamischen QR-Codes, die Nutzdaten, die du decodierst, sind also das Ziel selbst und keine Weiterleitung.

QR-Code erstellen

Questions? Answered

Ein Scanner gibt zurück, was der QR-Code sagt; ein Decoder gibt auch zurück, wie das Symbol aufgebaut ist. Dieser Decoder nennt neben den Nutzdaten die Version, die Fehlerkorrekturstufe, das Maskenmuster, die Kodierungsmodi und die Rohbytes. Wenn du nur den Inhalt und einen Scanbarkeitswert brauchst, ist der QR-Code-Scanner der kürzere Weg.

Nur so weit, wie die eigene Fehlerkorrektur des Codes es erlaubt. Ein QR-Code stellt je nach Stufe zwischen etwa 7% und 30% seines Symbols wieder her, und der Decoder nutzt das automatisch vollständig aus. Jenseits dieser Grenze oder bei einem fehlenden Suchmuster liefert kein Decoder ein Ergebnis, und der Code muss von Hand aus seiner Formatinformation rekonstruiert werden.

Speichere den QR-Code als Bild oder mach einen Screenshot davon und zieh die Datei auf den Decoder auf dieser Seite. Das Bild wird im Browser auf einem Laptop oder Desktop-Rechner decodiert, ohne Kamera, ohne App und ohne Upload. Ein Code auf Papier muss zuerst fotografiert oder in eine Datei gescannt werden.

Ein Maskenmuster ist eines von acht festen Mustern, das ein QR-Code-Generator auf den Datenbereich anwendet, um große leere Flächen und Formen aufzubrechen, die Suchmustern ähneln. Der Generator probiert alle acht und behält das Maskenmuster mit der niedrigsten Strafpunktzahl. Die Nummer der gewählten Maske wird in der Formatinformation gespeichert, damit ein Decoder sie umkehren kann.

Drei Einstellungen ändern das Muster, ohne die Daten zu ändern: die Fehlerkorrekturstufe, das Maskenmuster und die Version. Zwei Generatoren, die denselben Link auf den Stufen M und H kodieren, erzeugen unterschiedliche Muster und oft unterschiedliche Größen. Decodiere beide, und die Nutzdaten sind identisch, während sich die Strukturzeilen unterscheiden.

Nein. Ein QR-Code speichert seine Nutzdaten und die Struktureinstellungen, die zum Lesen nötig sind, und sonst nichts. Im Symbol stecken kein Autor, kein Erstellungsdatum, keine Gerätekennung und kein Scan-Zähler. Solche Informationen gibt es nur bei dynamischen QR-Codes, und sie liegen auf dem Server des Anbieters und nicht im Code.

Decodiere den QR-Code und lies die Domain. Sind die Nutzdaten die endgültige Adresse, die du erwartet hast, ist der Code statisch. Sind die Nutzdaten ein Kurzlink auf der Domain eines QR-Anbieters, der woandershin weiterleitet, ist der Code dynamisch und funktioniert nicht mehr, wenn dieser Anbieter den Link deaktiviert. Statische und dynamische QR-Codes im Vergleich erklärt die Abwägung.

Die Nutzdaten werden mit Fehlerkorrektur aus dem ganzen Symbol decodiert, während Stufe und Maske aus 15 Formatbits neben den Suchmustern gelesen werden. Bei einem Bild mit niedriger Auflösung oder starkem Styling können die Nutzdaten decodiert werden, während sich dieser kleine Bereich nicht sauber abtasten lässt. Ein größeres, schärferes Bild desselben Codes füllt die Zeile normalerweise aus.

Nein. Der Decoder liest nur QR-Codes, auch Codes mit gerundeten oder gepunkteten Modulen und Codes in Hell auf Dunkel. Data Matrix, Aztec, PDF417 und lineare Barcodes haben andere Strukturen und brauchen einen anderen Leser. Micro-QR-Codes, die ein einziges Suchmuster haben, werden ebenfalls nicht unterstützt.

Die Hex-Ansicht zeigt die Nutzdaten als die Bytes, die im QR-Code gespeichert sind, bevor sie als Text interpretiert werden. Die meisten Generatoren speichern Text als UTF-8, einfache lateinische Buchstaben erscheinen also als ihre ASCII-Werte. Die Ansicht legt offen, was der Text verbirgt: eine führende Byte-Order-Mark (ef bb bf), einen Zeilenumbruch am Ende oder ein geschütztes Leerzeichen in einem WLAN-Passwort.

Warum KoloQR?

  • Erstelle QR-Codes für Websites, Speisekarten, Wi-Fi, PDFs und Visitenkarten
  • Passe Farben, Logos und einzigartige Formen an
  • Lade hochwertige PNG- und SVG-Dateien herunter
  • Für Print und Digital gemacht
QR-Code erstellen
Ein einfacher schwarzer QR-Code neben demselben Code, umgestaltet als Kreis mit Markenfarben