qr-code-scannen.de

Methodik

Wie qr-code-scannen.de einen QR-Code ausliest

Diese Seite dokumentiert, was technisch passiert, wenn Sie hier einen QR-Code scannen: welche Bibliothek dekodiert, wo die Daten verarbeitet werden, welche Code-Typen das Tool auseinanderhält und woran die Erkennung scheitern kann.

Ihre Bilder verlassen dieses Gerät nicht

Es gibt keinen Upload. Weder das Kamerabild noch eine hochgeladene Datei wird an einen Server übertragen. Das Dekodieren läuft vollständig als JavaScript im Browser-Tab, und das Ergebnis bleibt dort, bis Sie die Seite schließen. Wir speichern weder den Inhalt eines gescannten Codes noch das Bild, aus dem er stammt.

Anzeige

Der Dekodier-Schritt

Die eigentliche Erkennung übernimmt jsQR in Version 1.4, eine quelloffene JavaScript-Bibliothek zum Lesen von QR-Codes. Der Ablauf ist in beiden Betriebsarten derselbe:

  1. Das Bild wird auf ein canvas-Element gezeichnet.
  2. Daraus werden die rohen Pixeldaten als ImageData gelesen.
  3. jsQR sucht in diesen Pixeln nach den drei Positionsmarkierungen eines QR-Codes, richtet das Raster aus und dekodiert die enthaltenen Bytes.
  4. Der entstandene Text wird auf seinen Typ geprüft und in seine Bestandteile zerlegt.

Beim Kamera-Scan liefert getUserMedia den Videostream, aus dem laufend Einzelbilder an diesen Ablauf gehen. Auf Mobilgeräten fordert das Tool die rückseitige Kamera an, weil sie in der Regel besser fokussiert.

Eine bewusste Einschränkung: keine invertierten Codes

jsQR kann optional zusätzlich nach invertierten Codes suchen, also nach hellen Modulen auf dunklem Grund. Diese Option ist hier abgeschaltet. Der Grund ist die Kamera-Betriebsart: Jeder zusätzliche Durchlauf pro Einzelbild kostet Rechenzeit, und auf schwächeren Mobilgeräten wird der Scan dadurch spürbar träge. Ein regulär gedruckter QR-Code, also dunkel auf hell, wird zuverlässig erkannt. Ein bewusst invertierter Code kann liegen bleiben. Wer so einen Code hat, kann ihn in einem Bildbearbeitungsprogramm invertieren und die Datei anschließend hochladen.

Acht Code-Typen, die das Tool auseinanderhält

Ein QR-Code enthält technisch nur Text. Erst die Konvention, in welchem Format dieser Text beginnt, macht daraus eine Telefonnummer oder ein WLAN-Passwort. Das Tool erkennt diese Formate und zerlegt sie in einzelne Felder:

  • URL — Webadresse, wird als anklickbarer Link angezeigt
  • E-Mail — Adresse, optional mit Betreff und Nachrichtentext
  • Telefon — Rufnummer im tel:-Format
  • SMS — Nummer und vorbereiteter Nachrichtentext
  • WLAN — Netzname, Verschlüsselung und Passwort
  • vCard — Kontaktdaten mit Name, Organisation, Telefon
  • Geo — Koordinatenpaar aus Breiten- und Längengrad
  • Text — alles, was zu keinem der obigen Muster passt

Erkennt das Tool kein bekanntes Muster, zeigt es den Rohtext unverändert an, statt ihn in ein Format zu zwingen, das nicht passt.

Woran die Erkennung scheitert

Ein QR-Code wird nicht gelesen, wenn zu wenige Bildpunkte auf ein einzelnes Modul entfallen. Bei einem Foto aus großer Entfernung oder einem stark verkleinerten Screenshot verschwimmen die Module ineinander. Weitere typische Ursachen sind starke Unschärfe durch Bewegung, Spiegelungen und Blendflecke auf glänzendem Papier oder Displays, ein zu schräger Aufnahmewinkel sowie beschädigte oder überklebte Codes.

QR-Codes enthalten eine Fehlerkorrektur, die je nach Stufe zwischen etwa sieben und dreißig Prozent Datenverlust ausgleicht. Ein leicht zerkratzter Code lässt sich deshalb oft noch lesen, ein zur Hälfte fehlender nicht mehr.

Was das Tool nicht leistet

Es liest ausschließlich QR-Codes. Andere zweidimensionale Codes wie Data Matrix, Aztec oder PDF417 und klassische Strichcodes wie EAN oder Code 128 werden nicht erkannt.

Das Tool prüft außerdem nicht, ob das Ziel eines Codes vertrauenswürdig ist. Es zeigt die enthaltene Adresse an, bevor Sie sie öffnen. Genau das ist die wichtigste Schutzmaßnahme gegen manipulierte Codes: erst die Adresse lesen, dann entscheiden. Worauf dabei zu achten ist, steht im Ratgeber QR-Code-Phishing erkennen.

Aktualisierung dieser Seite

Ändert sich etwas an der Dekodierung, an der eingesetzten Bibliothek oder an den erkannten Typen, wird diese Seite angepasst. Inhaltliche Korrekturen dokumentieren wir zusätzlich unter Korrekturen.

Fehler in dieser Beschreibung entdeckt?

Wenn hier etwas steht, das nicht dem tatsächlichen Verhalten des Tools entspricht, wollen wir das wissen und korrigieren.

info@akara-solutions.de