User-Agent-String lesen: so geht es (mit Beispielen)

Von • 2 November, 2026 • Entwickler-Tools • 9 Minuten Lesezeit

So lesen Sie jeden User-Agent-String: welche Tokens zählen, welche Werte Browser einfrieren und wie Sie Bots prüfen. Mit echten Parser-Ergebnissen.

Um einen User-Agent-String zu lesen, überspringen Sie das Mozilla/5.0 am Anfang und achten auf drei Dinge: die Plattform in der ersten Klammer (Windows NT 10.0, Android 10; K, iPhone OS 18_6), das letzte Browser-Token vor oder nach Safari/ (Edg/, OPR/, Chrome/, Version/) und ob das Wort Mobile vorkommt. Dann gilt: Moderne Browser frieren Teile des Strings absichtlich ein, ein Teil dessen, was Sie lesen, ist also ein fester Wert und nicht die Wahrheit. Unser kostenloser User-Agent-Parser erledigt den ersten Teil: String einfügen, Browser, Betriebssystem und Gerätetyp ablesen, ohne Konto.

Alle Ergebnisse in diesem Ratgeber entstanden am 2. November 2026, entweder live im Tool oder mit derselben Parser-Bibliothek auf dem Server dahinter. Die Strings stammen von Chrome 156 auf unserem Testrechner und aus den Formaten, die Chromium, Mozilla (MDN), Apples WebKit-Team und Google Search Central veröffentlichen.

Sie haben einen String vor sich? Fügen Sie ihn in den User-Agent-Parser ein und lesen Sie weiter, welche Teile Sie glauben dürfen.

So ist ein User-Agent-String aufgebaut

Das ist Chrome unter Windows, genau so, wie MDN ihn dokumentiert:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36
  • Mozilla/5.0: ein Kompatibilitätsrelikt. Fast jeder Browser sendet es, es sagt also nichts aus.
  • (Windows NT 10.0; Win64; x64): die Plattform. Hier steht das Betriebssystem.
  • AppleWebKit/537.36 (KHTML, like Gecko): die Engine, gewissermaßen. Chromes Blink-Engine gibt sich aus Kompatibilitätsgründen weiter als WebKit 537.36 aus.
  • Chrome/143.0.0.0: Browser und Version. Seit Chrome 101 sind die letzten drei Zahlen immer 0.0.0; nur die Hauptversion stimmt.
  • Safari/537.36: noch ein Kompatibilitäts-Token. Chrome ist kein Safari.

Chromium-basierte Browser hängen ihr eigenes Token ans Ende: Edg/ für Edge am Desktop, EdgA/ unter Android, OPR/ für Opera. Die Faustregel lautet daher: von rechts lesen, das spezifischste Token steht meist zuletzt. Safari ist die Ausnahme: Die echte Version steht in Version/26.0, Safari/605.1.15 ist nur eine Build-Nummer.

User-Agent auslesen in 3 Schritten

  1. Den exakten String besorgen. Für Ihren eigenen Browser öffnen Sie die Entwicklerkonsole (F12) und geben navigator.userAgent ein. Für einen Besucher kopieren Sie das User-Agent-Feld aus dem Server-Log oder dem Analytics-Export. Vollständig kopieren: Eine fehlende Klammer ändert das Ergebnis.
  2. In den Parser einfügen. Öffnen Sie den User-Agent-Parser, ersetzen Sie den Inhalt des Feldes durch Ihren String und klicken Sie auf Absenden. Sie sehen drei Zeilen: Browser, Betriebssystem und Gerätetyp.
  3. Mit den eingefrorenen Werten abgleichen. Der Parser markiert Windows NT 10.0, Android 10, macOS 10.15.7 und iOS 18.6 als „vom Browser eingefroren“, denn die echte Version kann neuer sein. Warum, steht weiter unten.

Echte Beispiele: Was der Parser anzeigt

Alle Strings liefen durch das Live-Tool, nur der Tablet-String ging durch denselben Bibliotheksaufruf auf unserem Server. Der Gerätetyp erscheint in jeder Sprache auf Englisch (desktop, mobile, tablet, bot).

AbsenderWichtige TokensErgebnis
Firefox 47, Windows 7Windows NT 6.1; rv:47.0, Gecko/20100101Firefox 47.0 · Windows 7 (NT 6.1) · Desktop
Chrome 143, WindowsWindows NT 10.0; Win64; x64Chrome 143.0.0.0 · Windows 10 oder 11 (NT 10.0) (vom Browser eingefroren) · Desktop
Edge 143, WindowsEdg/143.0.0.0Edge 143.0.0.0 · Windows 10 oder 11 (NT 10.0) (vom Browser eingefroren) · Desktop
Chrome 143, Android-Smartphone (reduziert)Linux; Android 10; K, MobileChrome 143.0.0.0 · Android 10 (vom Browser eingefroren) · Smartphone
Chrome, Android-Tablet (reduziert)Android 10; K, ohne MobileChrome 93.0.0.0 · Android 10 (vom Browser eingefroren) · Tablet
Chrome 143, MacIntel Mac OS X 10_15_7Chrome 143.0.0.0 · macOS 10.15.7 (vom Browser eingefroren) · Desktop
Safari 26, iPhoneiPhone OS 18_6, Version/26.0Safari 26.0 · iOS 18.6 (vom Browser eingefroren) · Smartphone
Googlebot Smartphonecompatible; Googlebot/2.1Googlebot 2.1 · Nicht angegeben (Bot oder Tool) · Bot oder Tool
Headless Chrome 156 (unser Testrechner)HeadlessChrome/156.0.0.0Chrome 156.0.0.0 (Automatisierter / Headless-Browser) · Linux · Automatisierter / Headless-Browser

Auf der deutschen Toolseite kommt die Firefox-Zeile jetzt so zurück: Browser Firefox 47.0, Betriebssystem Windows 7 (NT 6.1), Gerätetyp Desktop. Der Parser übersetzt die NT-Nummer also in den Produktnamen. Außerdem: Das Android-Smartphone läuft nicht unter Android 10, der Mac fast sicher nicht unter Catalina, das iPhone nicht unter iOS 18 (der Parser markiert alle drei als eingefroren), und der automatisierte Headless-Browser wird als solcher gekennzeichnet statt als gewöhnlicher Desktop-Chrome.

Eingefrorene Werte, die jeden täuschen

Windows NT 10.0 heißt Windows 10 oder Windows 11

Laut Microsoft-Dokumentation wird der User-Agent nicht angepasst, um Windows 11 von Windows 10 zu unterscheiden: Chrome, Edge und Firefox senden unter Windows 11 Windows NT 10.0. Der Parser übersetzt die NT-Nummer inzwischen selbst: 10.0 = Windows 10 oder 11, 6.3 = 8.1, 6.2 = 8, 6.1 = 7. In Chromium-Browsern zeigt sich Windows 11 nur im Client Hint Sec-CH-UA-Platform-Version, ab 13.0.0 bedeutet es Windows 11. Firefox sendet keine Client Hints; bei Firefox-Nutzern lässt sich das also gar nicht feststellen.

Android 10; K ist ein Platzhalter

Seit Chrome 110 sendet Chrome unter Android die festen Werte Android 10 und K statt der echten Version und des Modells. Im älteren, von MDN noch dokumentierten Format (Linux; Android 16; Pixel 9, Chrome/143.0.12.45) erkennt unser Parser dagegen Android 16. Sehen Sie in Ihren Logs ein echtes Modell neben einem aktuellen Chrome, ist es meist ein anderer Browser oder eine WebView, denn für die Android-WebView gilt die Reduktion nicht.

Verlässlich bleibt das Wort Mobile: Chrome sendet es auf Smartphones und lässt es auf Tablets weg. So hat der Parser den Tablet-String als tablet erkannt.

macOS 10_15_7 ist in Chrome und Safari eingefroren

Chrome hat die macOS-Version schon in Chrome 90 bei 10_15_7 gedeckelt, Safari sendet denselben Wert, Firefox 10.15. Deshalb meldet der Parser für jeden aktuellen Mac macOS 10.15.7 und markiert den Wert als vom Browser eingefroren. Der String nennt auch auf Macs mit Apple-Chip Intel; für die Wahl zwischen Intel- und ARM-Download taugt er also nicht.

Safari 26 auf dem iPhone meldet iOS 18

Seit Safari 26 friert Apple die iOS-Version im User-Agent ein. Der WebKit-Bugtracker bestätigt, dass iPhone OS 18_6 like Mac OS X Absicht und dauerhaft ist; spätere Builds haben den eingefrorenen Wert auf 18.7 verschoben. Auf iPhone und iPad hilft Version/26.0: Die Safari-Hauptversion folgt der iOS-Hauptversion.

Beim iPad kommt noch etwas dazu: Safari unter iPadOS fordert standardmäßig die Desktop-Website an und sendet denselben Macintosh-String wie ein Mac, kein serverseitiger Parser kann die beiden unterscheiden. In JavaScript deutet ein Macintosh-String zusammen mit navigator.maxTouchPoints größer als 1 auf ein iPad hin.

Typische Fehler beim Browser-Sniffing

  • Nur nach „Chrome“ oder „Safari“ suchen. Edge und Opera enthalten Chrome/, Chrome enthält Safari/. Prüfen Sie zuerst das spezifischste Token (Edg/, OPR/), dann Chrome/, und nennen Sie nur das Safari, was kein Chrome/ enthält.
  • Dem Namen eines Bots glauben. Jeder kann Googlebot in seinen User-Agent schreiben. Google empfiehlt: Reverse-DNS-Abfrage der IP, prüfen, ob der Name auf googlebot.com, google.com oder googleusercontent.com endet, dann eine Vorwärtsabfrage, die dieselbe IP liefern muss. Wir haben das mit dem Beispiel aus Googles Dokumentation gemacht: Die Reverse-IP-Abfrage machte aus 66.249.66.1 den Namen crawl-66-249-66-1.googlebot.com, und die DNS-Abfrage löste ihn wieder zu 66.249.66.1 auf. Liefert die Rückwärtsabfrage den Namen eines Hosters, ist der Bot gefälscht.
  • Headless Chrome für einen Menschen halten. Unser Testrechner sendete HeadlessChrome/156.0.0.0, und der Parser kennzeichnet das jetzt als automatisierten / Headless-Browser. Suchen Sie selbst nach HeadlessChrome in Ihren Logs, wohl wissend, dass ein Scraper dieses Token mühelos entfernt.
  • Die genaue Version erwarten. Der User-Agent unseres Chrome lautete 156.0.0.0. Die volle Version 156.0.8078.47 kam nur über die High-Entropy-Client-Hints-API (navigator.userAgentData.getHighEntropyValues(['fullVersionList'])).
  • Funktionen am User-Agent festmachen. Ob ein Browser etwas kann, prüfen Sie per Feature-Erkennung. Der User-Agent ist für Statistik, Fehlersuche und Bot-Sortierung da.

Wenn Sie mehr brauchen: User-Agent Client Hints

Chromium-Browser (Chrome, Edge, Opera) senden bei jeder HTTPS-Anfrage einen kleinen Satz Client Hints. Unser Chrome 156 schickte zusätzlich zum User-Agent:

Sec-Ch-Ua: "Not:A-Brand";v="8", "Chromium";v="156", "Google Chrome";v="156"
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "Linux"

Für mehr Details (Systemversion, Modell, Architektur, vollständige Versionsliste) sendet Ihr Server einen Accept-CH-Header mit den gewünschten Hints, und der Browser liefert sie bei den folgenden Anfragen mit. Firefox und Safari unterstützen keine Client Hints, behalten Sie den User-Agent also immer als Rückfallebene. Die HTTP-Header-Abfrage zeigt, ob eine Website Accept-CH sendet.

Die nächsten Schritte

Häufig gestellte Fragen

Warum beginnt jeder User-Agent mit Mozilla/5.0?

Das ist ein historisches Kompatibilitäts-Token. Frühe Websites lieferten Netscape (Mozilla) bessere Seiten aus, also haben andere Browser es kopiert, und heute kann es niemand mehr entfernen, ohne alte Websites zu stören. Es enthält keine Information.

Kann man Windows 11 am User-Agent von Windows 10 unterscheiden?

Nein. Beide senden Windows NT 10.0, wie Microsoft dokumentiert. Chromium-Browser melden Windows 11 über den Client Hint Sec-CH-UA-Platform-Version (ab 13.0.0). Firefox hat nichts Vergleichbares.

Warum zeigt Chrome auf meinem Handy Android 10 und K?

Seit Chrome 110 sendet Chrome unter Android diese festen Werte, um Fingerprinting zu erschweren. Echte Version und Modell gibt es nur noch über Client Hints wie Sec-CH-UA-Platform-Version und Sec-CH-UA-Model.

Warum steht bei meinem iPhone iOS 18?

Safari 26 friert die iOS-Version absichtlich auf einem 18.x-Wert ein, und Apples WebKit-Team sagt, das bleibt so. Nutzen Sie das Token Version/: Safari 26 bedeutet iOS 26.

Woran erkenne ich, ob ein Googlebot-Besuch echt ist?

Führen Sie eine Reverse-DNS-Abfrage der IP aus Ihrem Log aus, prüfen Sie, ob der Name auf googlebot.com, google.com oder googleusercontent.com endet, und lösen Sie den Namen dann wieder auf: Es muss dieselbe IP herauskommen. Der User-Agent allein beweist nichts.

Ist der User-Agent-Parser kostenlos?

Ja. Er ist kostenlos und braucht kein Konto, und an unseren Server geht nur der eingefügte String. Besucher haben 5 Analysen pro Tag, ein kostenloses Konto (kein Spam) hebt die Grenze auf.

URL codieren: %20 oder +, Umlaute und Fallen

1 November, 2026

Text in Sekunden URL-sicher codieren, mit kostenlosem Tool. Wann %20 oder +, wie Umlaute und ß codiert werden und wie Sie doppeltes Encoding..

CSS minifizieren: So geht’s und so viel bringt es

31 Oktober, 2026

CSS in Sekunden kostenlos minifizieren, die echte Ersparnis nach gzip und Brotli sehen und die Fehler vermeiden, die Styles unbemerkt kaputt..

Base64 dekodieren: Text, Bilder und JWT (kostenlos)

30 Oktober, 2026

Base64-Strings in Sekunden dekodieren: echte Beispiele mit Text, Bildern, JWT und Basic Auth, dazu die Ursachen für Zeichensalat und wie Sie..