QR-Code-Scanner
Scanne QR-Codes von deiner Kamera oder einem hochgeladenen Bild, vollständig in deinem Browser.
QR-Code-Scanner wird geladen… Wenn nichts passiert, aktiviere JavaScript.
QR-Codes codieren URLs, Kontaktkarten, WLAN-Zugangsdaten, Zahlungsinformationen und beliebigen Text in einem kompakten zweidimensionalen Barcode, den jede Smartphone-Kamera in unter einer Sekunde lesen kann. Aber was, wenn du einen QR-Code aus einem Screenshot, einer Bilddatei oder von einem zweiten Bildschirm decodieren musst, ohne dein Telefon hervorzuholen? Moderne Browser stellen jetzt die BarcodeDetector-API bereit, eine native Schnittstelle, die Bilddaten lokal auf dem Gerät verarbeitet, was ein vollständig browserbasiertes QR-Scannen ohne jeglichen Upload zu einem Server oder eine Drittanbieter-App möglich macht.
Häufig gestellte Fragen
Werden gescannte Bilder oder Kamerabilder auf einen Server hochgeladen?
Wie funktioniert die BarcodeDetector-API technisch?
Welche Browser und Barcode-Formate werden unterstützt?
Welche Berechtigung verlangt der Browser bei Verwendung der Kamera?
Kann ich einen QR-Code aus einem Screenshot oder Bild auf meinem Computer scannen?
Warum schlägt der Scan bei einem gültigen QR-Code manchmal fehl?
Wie unterscheidet sich das davon, einfach meine Telefonkamera zu verwenden?
Kann ich damit einen gerade erstellten QR-Code überprüfen?
Ist es sicher, einen unbekannten QR-Code mit diesem Werkzeug zu scannen?
Funktioniert das Werkzeug in mobilen Browsern?
Über QR-Code-Scanner
Die Anwendungsfälle für einen browserbasierten QR-Scanner sind breiter, als sie zunächst erscheinen mögen. Entwickler stoßen häufig auf QR-Codes in Dokumentationen, Design-Mockups, Authentifizierungsabläufen und Testumgebungen, in denen das Scannen mit einem Telefon unpraktisch ist. IT-Fachleute überprüfen QR-codierte WLAN-Zugangsdaten, bevor sie Beschilderungen bereitstellen. Sicherheitsforscher untersuchen QR-Codes in Phishing-Kampagnen sicher, indem sie die URL decodieren, ohne darauf zu klicken. Content-Ersteller und Marketingfachleute decodieren die QR-Codes von Wettbewerbern, um zu sehen, wohin sie weiterleiten. Jeder, der ein Bild mit einem eingebetteten QR-Code erhält, kann es in dieses Werkzeug ziehen und den Inhalt sofort lesen.
Das Werkzeug nutzt je nach Browserunterstützung zwei Decodierwege. In Chromium-basierten Browsern (Chrome 88+, Edge 88+, Opera 74+) und Safari 17+ verwendet es die native `BarcodeDetector`-API, die rohe Bilddaten an die im Browser eingebaute Decodier-Engine übergibt, dieselbe Engine, die auch die Kamera-App des Betriebssystems verwendet. In Browsern, die `BarcodeDetector` nicht unterstützen, greift es auf eine JavaScript-Implementierung zurück. In beiden Fällen werden die Bilddaten vollständig auf deinem Gerät verarbeitet; nichts wird zu einem Server hochgeladen. Für den Kameramodus nutzt das Werkzeug die `getUserMedia`-API, um auf deinen Webcam-Stream zuzugreifen, verarbeitet die Einzelbilder lokal und stoppt den Stream in dem Moment, in dem du die Seite verlässt.
Für die besten Ergebnisse beim Hochladen eines Bildes verwende eine kontrastreiche Version des Codes mit mindestens 10 Pixeln pro Modul (jedes schwarze oder weiße Quadrat). Komprimierte JPEG-Bilder können an den Modulgrenzen Artefakte einführen, die Decoder verwirren; PNG-Dateien werden zuverlässiger decodiert. Wenn ein Scan fehlschlägt, versuche, Helligkeit und Kontrast des Bildes in einem beliebigen Bildeditor zu erhöhen, bevor du es hochlädst. Für das Live-Scannen mit der Kamera sorge für gleichmäßige Beleuchtung ohne starke Spiegelung auf der Codeoberfläche, und halte die Kamera ruhig in einer Entfernung, bei der der gesamte Code etwa die Hälfte des Bildausschnitts füllt.
Kameras, die Codes lesen: Wie das browserbasierte Scannen von Barcodes möglich wurde
Während des größten Teils der 70-jährigen Geschichte des Barcodes erforderte das Lesen eines solchen spezialisierte Hardware: Laserscanner in Supermärkten, dedizierte Handlesegeräte in Lagerhäusern oder zumindest eine native mobile App mit direktem Kamerazugriff. Die Vorstellung, dass eine Webseite einen Barcode in Echtzeit ohne jegliche installierte Software decodieren könnte, hätte noch 2015 unplausibel gewirkt. Der Wandel kam durch zwei zusammenlaufende Entwicklungen: die rasche Verbesserung der Leistung mobiler GPUs und die Einigung der Browseranbieter, den Zugriff auf Gerätekameras über die `getUserMedia`-API zu standardisieren, die um 2016 eine breite Unterstützung erreichte.
Frühe browserbasierte QR-Scanner stützten sich vollständig auf JavaScript-Bibliotheken, die den Reed-Solomon-Decodieralgorithmus in Software implementierten. Sie funktionierten, waren aber langsam, CPU-intensiv und anfällig für Fehler bei kontrastarmen oder leicht unscharfen Bildern. Die entscheidende Verbesserung kam, als Google die Shape Detection API vorschlug, die später zur BarcodeDetector-API verfeinert wurde, die dieselben hardwarebeschleunigten Bildanalyse-Pipelines bereitstellt, die auch native Apps nutzen. Durch das Delegieren an die Vision- oder ML-Kit-Frameworks des Betriebssystems verbesserte sich die Erkennungsgeschwindigkeit um Größenordnungen und die Zuverlässigkeit erreichte das Niveau nativer Kamera-Apps.
Die BarcodeDetector-API wurde 2020 in Chrome 83 ausgeliefert und steht für einen umfassenderen Trend, bei dem Browser Fähigkeiten aufnehmen, die zuvor native Anwendungen erforderten: Dateisystemzugriff, Bluetooth, USB, Zwischenablage und nun maschinelles Sehen. Jede standardisierte Fähigkeit verringert den Abstand zwischen Web-Apps und nativen Apps, auch wenn die Browseranbieter uneinig sind, wie weit dieser Zugriff reichen sollte. Die Entscheidung von Firefox, BarcodeDetector nicht zu implementieren, spiegelt eine andauernde grundsätzliche Debatte darüber wider, ob Browser überhaupt hardwarenahe APIs bereitstellen sollten, eine Debatte, die der Anwendungsfall des Barcode-Scannens konkret und praktisch macht.