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 bleiben im Browser

Weder das Kamerabild noch eine hochgeladene oder eingefügte Datei wird an unsere Server übertragen. Das Dekodieren läuft als JavaScript im Browser-Tab, das Ergebnis steht nur im Browser-Tab. Wir speichern weder den Inhalt eines gescannten Codes noch das Bild, aus dem er stammt. Nur wenn Sie den optionalen Verlauf einschalten, merkt sich Ihr Browser die letzten fünf Scans lokal (localStorage); Sie können ihn jederzeit löschen. Die Seite finanziert sich über Werbung und misst die Nutzung mit Umami; was dabei technisch geschieht, steht in der Datenschutzerklärung.

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. Nach einem Klick auf „Scan starten“ gehen laufend Einzelbilder an diesen Ablauf, bis ein Code erkannt wird. Gibt es mehrere Kameras, lässt sich die Kamera auswählen; die Rückkamera wird bevorzugt, weil sie in der Regel besser fokussiert.

Bilder lassen sich per Klick auswählen, in das Upload-Feld ziehen oder mit Strg+V (am Mac Cmd+V) aus der Zwischenablage einfügen. Akzeptiert werden PNG, JPEG und WebP. PDF-Dateien lassen sich nicht hochladen; für einen Code in einem PDF genügt ein Screenshot der Seite.

Invertierte Codes

Neben regulär gedruckten Codes (dunkle Module auf hellem Grund) liest das Tool auch invertierte Codes mit hellen Modulen auf dunklem Grund. Jeder zusätzliche Durchlauf kostet Rechenzeit; auf schwächeren Mobilgeräten kann der Scan deshalb etwas länger dauern als bei einem regulären Code.

Neun 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 (mailto:)
  • Telefon: Rufnummer im tel:-Format
  • SMS: Nummer und vorbereiteter Nachrichtentext (sms: oder SMSTO:)
  • WLAN: Netzname, Verschlüsselung, Passwort und Hinweis auf ein verstecktes Netz, Felder in beliebiger Reihenfolge, auch offene Netze ohne Passwort
  • vCard und MECARD: Kontaktdaten mit Name, Firma, Telefon, E-Mail, Webseite und Anschrift, Export als .vcf-Datei
  • Geo: Koordinatenpaar aus Breiten- und Längengrad
  • Kalendertermin: Termin im iCalendar-Format (VEVENT) mit Titel, Zeitraum und Ort
  • 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, und warnt bei auffälligen Mustern wie unsichtbaren Richtungszeichen (Bidi) oder Sonderzeichen-Domains (IDN). Eine Warnung ist keine Entwarnung für Adressen, die unauffällig aussehen. Die wichtigste Schutzmaßnahme gegen manipulierte Codes bleibt: 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