QR-Code-Decoder
QR-Code-Bilder online scannen und dekodieren. Unterstützt Drag & Drop und Zwischenablage. Die gesamte Verarbeitung erfolgt im Browser.
QR-Code-Bild hierher ziehen
Unterstützt PNG, JPG, GIF, BMP, WebP und andere gängige Bildformate
Sie können auch ein Bild aus der Zwischenablage mit Ctrl+V einfügen
Was ist QR-Code-Dekodierung?
Der QR-Code-Decoder liest ein hochgeladenes oder eingefügtes QR-Code-Bild und extrahiert den darin gespeicherten Inhalt. Das kann eine URL, reiner Text, WLAN-Information, Kontaktkarte, Zahlungsreferenz oder eine andere kodierte Zeichenfolge sein. Das Werkzeug ist hilfreich, wenn ein QR-Code vor dem Öffnen geprüft, aus einem Screenshot ausgelesen, aus Dokumenten übernommen oder bei Supportfällen nachvollzogen werden soll. Nicht jeder erkannte Inhalt ist automatisch vertrauenswürdig: Besonders Links sollten vor dem Besuch kontrolliert werden, weil QR-Codes auch auf Phishing-Seiten oder veraltete Adressen zeigen können. Die Bildauswertung erfolgt lokal im Browser. Bei gemeinsamer Nutzung sollten Eingaben, Annahmen und gewünschtes Ergebnis vorher klar sein, damit die Ausgabe nicht falsch interpretiert wird.
Anleitung
Anleitung
- Klicken Sie auf den Upload-Bereich, um ein QR-Code-Bild auszuwählen, oder ziehen Sie ein Bild per Drag-and-Drop hinein
- Sie können auch ein Bild aus der Zwischenablage mit Strg+V (Cmd+V auf Mac) einfügen
- Das Tool erkennt und dekodiert den QR-Code-Inhalt automatisch
- Das dekodierte Ergebnis erscheint unten mit automatischer Inhaltstyp-Erkennung (URL oder Text)
- Klicken Sie auf „Ergebnis kopieren", um den dekodierten Inhalt in die Zwischenablage zu kopieren
Tipps zum Dekodieren
- Verwenden Sie ein scharfes Bild mit vollständig sichtbarem QR-Code und ausreichend Ruhezone rundherum für eine zuverlässige Erkennung.
- Gehen Sie mit dekodierten Links vorsichtig um. Überprüfen Sie den Text und die Domain, bevor Sie unbekannte QR-Code-URLs öffnen.
Anwendungsfälle
Technisches Prinzip
Die QR-Code-Dekodierung ist eine mehrstufige Bildverarbeitungspipeline, die den Code in einem Foto oder Screenshot lokalisiert, Perspektivverzerrung korrigiert, das Bild auf Schwarz-Weiß schwellenwertet, das Modulraster liest, Fehlerkorrektur anwendet und die Daten gemäß dem Kodierungsmodus dekodiert. Dieses Tool verwendet die jsQR-Bibliothek, die die gesamte Pipeline in JavaScript auf dem Main-Thread des Browsers implementiert. Die erste Stufe ist die Lokalisierung der drei Finder-Muster — die markanten 7x7 Quadrat-in-Quadrat-in-Quadrat-Markierungen in der oberen linken, oberen rechten und unteren linken Ecke jedes QR-Codes. jsQR scannt das Bild nach Sequenzen abwechselnder schwarzer und weißer Pixel, die dem 1:1:3:1:1-Verhältnis eines Finder-Muster-Querschnitts entsprechen, unabhängig von der Rotation. Sobald drei Finder lokalisiert sind, definieren ihre Schwerpunkte das begrenzende Viereck des Codes. Die Perspektivkorrektur transformiert das Viereck mithilfe einer Homographie-Matrix, die aus den vier Eckpunkten berechnet wird, in ein quadratisches Raster. Dies ist wesentlich, weil QR-Codes selten frontal fotografiert werden — die Korrektur entzerrt den Code, sodass jedes Modul (das schwarze oder weiße Quadrat, das ein Bit darstellt) auf ein gleichmäßiges Raster fällt. Die Modulgröße wird durch die Finder-Muster-Dimensionen und die Versionsnummer bestimmt, die aus den Formatinformationsstreifen neben den Findern gelesen wird. Die Bildbinarisierung wandelt die Graustufen-Pixelwerte in rein Schwarz-Weiß um. jsQR verwendet einen lokalen Schwellenwertansatz: Anstatt eines einzelnen globalen Schwellenwerts (der bei ungleichmäßiger Beleuchtung oder Schatten versagt), berechnet er Schwellenwerte für kleine Bildregionen, was ihn robust gegen Verläufe und Vignettierung macht, die in Smartphone-Fotos häufig vorkommen. Die Fehlerkorrektur verwendet Reed-Solomon-Codes gemäß ISO/IEC 18004:2015. QR-Codes unterstützen vier Fehlerkorrekturstufen: L (~7% Wiederherstellung), M (~15%), Q (~25%) und H (~30%). Die Daten- und Fehlerkorrektur-Codewörter werden in Blöcken verschachtelt; jsQR führt eine Syndromberechnung durch und wendet den Berlekamp-Massey-Algorithmus an, um Fehler innerhalb der Nennkapazität des Codes zu lokalisieren und zu korrigieren. Wenn der Schaden die Korrekturstufe übersteigt, schlägt die Dekodierung fehl, statt beschädigte Daten zurückzugeben. Schließlich wird der dekodierte Bitstrom gemäß dem Kodierungsmodusindikator in den ersten vier Bits interpretiert: numerisch (0001, 10 Bits pro 3 Ziffern), alphanumerisch (0010, 11 Bits pro 2 Zeichen), Byte (0100, 8 Bits pro Zeichen, typischerweise UTF-8 oder Latin-1), Kanji (1000, 13 Bits pro Zeichen unter Verwendung von Shift JIS) oder ECI (0111, Extended Channel Interpretation zur Angabe von Zeichensätzen). Das Tool zeigt den dekodierten String an und erkennt automatisch, ob es sich um eine URL (durch Versuch eines new URL()-Parsings) oder handelsüblichen Text handelt.
- Finder-Muster-Erkennung: jsQR scannt Zeilen nach abwechselnden schwarz/weiß-Pixel-Sequenzen im 1:1:3:1:1-Verhältnis — drei solche Muster in annähernd rechten Winkeln zueinander bestätigen das Vorhandensein und die Ausrichtung eines QR-Codes unabhängig von der Rotation.
- Perspektivkorrektur: Eine aus den vier erkannten Eckpunkten berechnete Homographie-Matrix bildet das verzerrte Viereck auf ein quadratisches Raster ab — dieser Schritt ist wesentlich, da reale Fotos QR-Codes selten frontal erfassen.
- Adaptive Binarisierung: Lokale Schwellenwertberechnung teilt das Bild in kleine Regionen und berechnet regionale Schwellenwerte, was den Decoder robust gegen ungleichmäßige Beleuchtung, Schatten und Verläufe macht, die einen globalen Schwellenwert überfordern würden.
- Reed-Solomon-Fehlerkorrektur (ISO/IEC 18004): Vier Stufen (L/M/Q/H) bieten 7-30% Datenwiederherstellung — der Berlekamp-Massey-Algorithmus lokalisiert Fehlerpositionen und der Forney-Algorithmus berechnet Korrekturamplituden; wenn der Schaden die Stufe übersteigt, schlägt die Dekodierung sauber fehl.
- Kodiermodus-Erkennung: Die ersten vier Datenbits geben den Modus an — numerisch (0001, effizient für Ziffern), alphanumerisch (0010, für A-Z 0-9 und Symbole), Byte (0100, für beliebige UTF-8/Latin-1-Daten), Kanji (1000, für Shift JIS) und ECI (0111, für Zeichensatzangabe).
- Version und Modulraster: QR-Code-Versionen reichen von 1 (21x21 Module) bis 40 (177x177), wobei jede Version 4 Module pro Seite hinzufügt — die Version wird aus den Formatinformationsstreifen nahe den Finder-Mustern gelesen, und die Modulanzahl bestimmt die Dichte des Abtastrasters.
- Browserlokale Ausführung: Das Bild wird auf ein verdecktes Canvas-Element gezeichnet, getImageData() extrahiert den rohen RGBA-Pixelbuffer, und jsQR verarbeitet ihn vollständig im Main-Thread des Browsers — es werden keine Bilddaten auf einen Server hochgeladen, und das Canvas wird nach Abschluss der Dekodierung vom Garbage Collector aufgeräumt.
Beispiele
URL-QR-Code
Gescannter Inhalt: https://example.com
Typ: URL
Aktion: Scanner öffnet den Link nach Bestätigung im SystembrowserQR-Code mit Klartext
Gescannter Inhalt: Dies ist Textinhalt
Typ: Text
Aktion: Scanner kopiert den Text in die Zwischenablage oder zeigt ihn in einem Ergebnis-Sheet anQR-Code mit WLAN-Zugangsdaten
Gescannter Inhalt: WIFI:T:WPA;S:NetworkName;P:Password;;
Typ: WLAN (WPA2)
Aktion: Telefone, die das Format erkennen, fragen 'Mit NetworkName verbinden?' und treten dem Netz mit dem angegebenen Passwort beivCard-Kontaktkarte
Gescannter Inhalt: BEGIN:VCARD\nVERSION:3.0\nFN:Jane Doe\nTEL:+1-555-0142\nEMAIL:jane@example.com\nEND:VCARD
Typ: Kontaktkarte
Aktion: Telefone bieten an, aus den geparsten Feldern einen neuen Adressbucheintrag zu erstellenFAQ
Wird das Bild zum Dekodieren hochgeladen?
Nein. Die Dekodierung läuft in deinem Browser über WebAssembly oder reines JS. Die Bildbytes werden lokal gelesen; nichts wird an einen Server gesendet.
Welche Eingabemethoden werden unterstützt?
Datei hochladen, Bild aus der Zwischenablage einfügen oder eine Bilddatei per Drag-and-Drop ablegen. Das Bild wird in deinem Browser verarbeitet und nie an einen Server hochgeladen.
Was gibt der Decoder zurück?
Den rohen dekodierten Text. Die Seite erkennt, ob das Ergebnis eine URL oder einfacher Text ist, und zeigt entsprechend ein Badge. Bei einer URL wird ein Open URL-Button bereitgestellt.
Warum lässt sich mein QR-Code nicht dekodieren?
Häufige Ursachen: Unschärfe, geringer Kontrast, Reflexionen, perspektivische Verzerrung oder der Code ist teilweise verdeckt. Schneide enger zu, erhöhe die Helligkeit, halte das Handy ruhig im 90°-Winkel zur Oberfläche. QR-Codes mit Fehlerkorrektur Level L verkraften kaum Beschädigung; Level H toleriert deutliche Verdeckung.
Kann er QR-Codes aus Screenshots und PDFs dekodieren?
Screenshots lassen sich meist problemlos dekodieren, weil sie perfekten Kontrast und keine perspektivische Verzerrung haben. Bei PDFs zuerst den QR-Bereich per Screenshot aufnehmen und dann das Bild hochladen.
Soll ich jede URL aus einem QR-Code öffnen?
Nein. QR-Codes sind ein bekannter Phishing-Vektor ('Quishing'), weil die URL im Bild verborgen ist. Prüfe die dekodierte URL vor dem Öffnen – die Seite zeigt die vollständige URL, sodass du die Domain lesen kannst. Achte auf Tippfehler-Domains, IP-Adressen und Kurz-URLs, die das echte Ziel verbergen.
Kann er mehrere QR-Codes in einem Bild dekodieren?
Die Seite erkennt einen QR-Code pro Bild. Wenn du ein Bild mit mehreren Codes hast, schneide jeden einzeln zu und lade sie für zuverlässigste Ergebnisse separat hoch.