QR-Code auslesen ohne App
Diese Funktion liest den Inhalt eines QR-Codes aus einem hochgeladenen Bild oder Screenshot aus und zeigt Text, Adresse oder WLAN-Daten sofort an, ohne dass eine Scanner-App auf dem Smartphone installiert werden muss. Auch ein am Bildschirm angezeigter Code lässt sich per Screenshot auslesen.
Im Browser ausführen – kostenlos
Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.
Wenn kein Smartphone zur Hand ist
Nicht jeder QR-Code lässt sich bequem mit einem Smartphone scannen, etwa wenn der Code nur als Bilddatei oder Screenshot am Bildschirm vorliegt, ohne dass die Kamera gleichzeitig auf das Display gerichtet werden kann. Diese Funktion liest solche Bilder direkt aus, ohne Umweg über eine zweite Kamera oder ein zweites Gerät.
Was ausgelesen wird
Erkannt werden alle gängigen Inhaltstypen: einfacher Text, Internetadressen, WLAN-Zugangsdaten, vCard-Kontaktdaten und E-Mail-Adressen mit vorausgefülltem Betreff. Das Ergebnis erscheint als lesbarer Text, den Sie direkt kopieren, weiterverwenden oder, im Fall einer Adresse, unmittelbar aufrufen können.
Vorsicht bei unbekannten Codes
Ein ausgelesener Link wird angezeigt, bevor er aufgerufen wird, sodass Sie vor dem Klicken sehen, wohin ein fremder QR-Code tatsächlich führt – wichtig bei Codes aus unbekannter Quelle, etwa auf einem Aufkleber im öffentlichen Raum, der über einen bestehenden Code geklebt worden sein könnte.
Anwendungsfälle
Screenshot aus einer Präsentation
Katrin Baumann fotografiert eine Folie mit einem QR-Code aus einem Vortrag und liest ihn nachträglich aus, statt in dem Moment mit dem Smartphone zu scannen.
Verdächtiger Aufkleber prüfen
Ein Ladenbesitzer lässt einen QR-Code auf einem fremden Aufkleber vor dem Aufruf auslesen, um zu sehen, welche Adresse tatsächlich dahintersteckt, bevor jemand ihn scannt.
Alte WLAN-Zugangsdaten wiederfinden
Jonas Weber liest einen alten, ausgedruckten WLAN-QR-Code aus, dessen Zugangsdaten er sonst nirgends mehr notiert hat, um das Passwort auf einem neuen Gerät einzutragen.
Häufige Fragen
Ist das Auslesen kostenlos?
Direkt hier auf der Seite schon: kostenlos, ohne Limit, ohne Konto. Wird die Funktion stattdessen per API angesprochen, fallen $0.002 pro Anfrage zuzüglich $0.005 pro Bild an.
Verlässt das hochgeladene Bild den Browser?
Nein, bei der Nutzung auf dieser Seite wird das Bild lokal im Browser verarbeitet.
Funktioniert das auch mit einem Screenshot?
Ja, solange der QR-Code im Bild ausreichend scharf und nicht zu klein abgebildet ist.
Werden auch beschädigte QR-Codes noch erkannt?
Teilweise, dank der im QR-Code eingebauten Fehlerkorrektur; ein stark verschmutzter oder großflächig verdeckter Code lässt sich aber nicht immer vollständig auslesen.
Ruft die Funktion einen erkannten Link automatisch auf?
Nein, das Ergebnis wird zuerst angezeigt; Sie entscheiden selbst, ob Sie dem Link folgen.
Kann ich mehrere QR-Codes auf einmal auslesen?
Derzeit wird ein Bild pro Anfrage ausgelesen; mehrere Codes auf demselben Bild erkennt die Funktion einzeln, sofern sie ausreichend Abstand zueinander haben.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/dev/qr-decode \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/dev/qr-decode", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/qr-decode",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/qr-decode", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/qr-decode", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"image": "https://ejemplo.com/imagen.jpg"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.qr_decode",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |