User-Agent-Parser
Browser, Engine, OS und Gerät aus einem User-Agent-String erkennen
Über dieses Tool
Füge einen User-Agent-String aus einer Logzeile, einem Bug-Report oder einem Analytics-Export ein und lass ihn entschlüsseln: Browser und Version, Rendering-Engine, Betriebssystem, Gerätetyp und CPU-Architektur. Der Parser ist ua-parser-js, dieselbe Library hinter unzähligen Analytics-Pipelines, lokal auf deinem String ausgeführt.
User-Agent-Strings sind archäologische Fundstätten — jeder behauptet noch, Mozilla/5.0 zu sein, Chrome behauptet Safari, Safari behauptet KHTML, und die wahre Identität versteckt sich in den späteren Tokens. Ein Parser schlägt das Zusammenkneifen der Augen: Er weiß, dass „CriOS“ Chrome auf iOS bedeutet und dass Edge sich hinter „Edg/“ versteckt.
Beachte die Richtung der Entwicklung: Browser frieren UA-Strings ein und reduzieren sie (und Chromium liefert stattdessen UA Client Hints) — Versionsdetails allein aus dem UA werden also zunehmend grob. Für Log-Forensik und Bug-Triage bleibt er unverzichtbar; für Feature-Entscheidungen nutze Feature Detection.
Häufige Fragen
- Warum beginnt jeder User-Agent mit Mozilla/5.0?
- Kompatibilitätstheater aus den 1990ern, das nie endete: Server prüften auf „Mozilla“, um moderne Seiten auszuliefern, also gab sich jeder neue Browser als solcher aus, und jeder folgende Browser imitierte seine Vorgänger. Das Präfix ist heute bedeutungslose Tradition.
- Kann ich der OS-Version in einem UA-String trauen?
- Jedes Jahr weniger. macOS hat seine UA-Version bei 10_15_7 eingefroren, Windows 11 meldet sich als Windows NT 10.0, und Browser mit reduziertem UA vergröbern Versionen absichtlich. Behandle OS-Versionen aus dem UA als Näherung; nutze UA Client Hints, wo du den Client kontrollierst.
- Was bedeutet „like Gecko“ oder „KHTML, like Gecko“?
- Weitere Imitationsschichten: WebKit stammt von KHTML ab und wollte, dass Seiten mit Gecko-Sonderbehandlung (Firefox-Engine) funktionieren, also hängte es „like Gecko“ an. Jeder WebKit/Blink-Browser trägt die Phrase bis heute.
- Sollte ich UA-Parsing für Feature Detection verwenden?
- Nein — Sniffing bricht, sobald eine neue Browserversion erscheint. Erkenne das Feature selbst (if ("clipboard" in navigator)). UA-Parsing ist für Analytics, Log-Analyse und das Reproduzieren gemeldeter Bugs — dort ist die Umgebung zu kennen genau der Punkt.