Wie ein User-Agent-String aufgebaut ist
Jeder Browser sendet bei jeder HTTP-Anfrage einen User-Agent-Header mit. Beispiel für ein aktuelles Chrome unter Windows:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/157.0.0.0 Safari/537.36
Mozilla/5.0– ein historisches Token, das aus Kompatibilitätsgründen von praktisch jedem Browser mitgesendet wird.(Windows NT 10.0; Win64; x64)– die Plattformangabe. Auch Windows 11 meldet sich weiterhin als NT 10.0.AppleWebKit/537.36 (KHTML, like Gecko)– die Engine-Abstammung; Chromes Blink-Engine gibt weiterhin WebKit 537.36 an.Chrome/157.0.0.0– der Browser und seine Hauptversion; die Unterversionen werden heutzutage stets mit Nullen maskiert.Safari/537.36– ein weiteres Kompatibilitätstoken.
Edge hängt Edg/ (unter Android EdgA/), Opera OPR/ und Samsung Internet SamsungBrowser/ an denselben Chromium-String an. Auf dem iPhone geben sich Chrome, Firefox und Edge als CriOS, FxiOS und EdgiOS auf Basis eines Safari-Strings aus – weshalb Parser diese Tokens vor Chrome oder Safari prüfen müssen und ein iPad im Desktop-Modus exakt wie ein Mac aussieht.
Eingefrorene und reduzierte User-Agents
Um Browser-Fingerprinting einzuschränken, übermitteln moderne Browser deutlich weniger Detailinformationen. Der reduzierte User-Agent von Chrome meldet immer pauschal Windows NT 10.0, Mac OS X 10_15_7 oder Android 10; K und setzt die Minor-Version auf Null. Safari meldet seit Jahren macOS 10.15.7, und auf iPhone sowie iPad wird inzwischen eine eingefrorene iOS-18-Version statt der tatsächlichen Version gemeldet (die Strings hier nutzen OS 18_7). Firefox gibt Mac OS X 10.15 an. Die hier erzeugten Strings halten sich strikt an diese Vorgaben – ein User-Agent mit Chrome/157.0.7012.88 oder ein konkretes Gerätemodell im Android-String von Chrome wird von keinem echten Browser gesendet und lässt sich sofort als Bot identifizieren.
Genaue Betriebssystemversionen, Gerätemodelle und vollständige Browser-Builds übermitteln Chromium-Browser stattdessen über User-Agent Client Hints. Über HTTPS senden sie standardmäßig die Low-Entropy-Hints Sec-CH-UA, Sec-CH-UA-Mobile und Sec-CH-UA-Platform mit jedem Request; wählen Sie HTTP-Header + Client Hints, um diese passend zu jedem User-Agent inklusive eines stimmigen Accept-Language-Headers zu erhalten. Detailliertere Werte wie Sec-CH-UA-Platform-Version sind High-Entropy-Hints: Ein Server muss diese explizit über den Header Accept-CH anfordern, oder ein Skript ruft sie via navigator.userAgentData.getHighEntropyValues() ab.
Generierte User-Agents im Code einsetzen
Wählen Sie als Ausgabeformat cURL, Python (requests) oder Playwright (Node.js), um sofort lauffähigen Code zu generieren. Beachten Sie folgende Best Practices für realistische Tests:
- Header konsistent halten. Ein Chrome-User-Agent ohne passende
Sec-CH-UA-Header oder mit der typischen Header-Reihenfolge von Firefox fällt sofort auf. Bot-Erkennungssysteme vergleichen zudem TLS- und HTTP/2-Fingerprints mit dem angegebenen Browser; ein Standard-Python-Client fliegt trotz Chrome-User-Agent schnell auf. - Keine Rotation innerhalb einer Sitzung. Echte Nutzer wechseln nicht mitten im Besuch den Browser. Ein User-Agent-Wechsel bei jedem einzelnen Seitenaufruf ist ein klares Bot-Signal.
- Verteilung nach echtem Traffic gewichten. Der Generator gewichtet standardmäßig Chrome unter Android und Windows sowie Safari auf dem iPhone stärker – genau wie im echten Web.
Das Fälschen eines User-Agents rechtfertigt keinen unbefugten automatisierten Zugriff: Halten Sie sich an die Nutzungsbedingungen und die robots.txt der Zielseite und begrenzen Sie Ihre Anfrageraten.
User-Agent im eigenen Browser ändern
- Chrome und Edge: Öffnen Sie die DevTools, wählen Sie Weitere Tools → Netzwerkbedingungen, deaktivieren Sie Automatisch auswählen und tragen Sie den gewünschten User-Agent ein. Die Einstellung bleibt aktiv, solange die DevTools geöffnet sind.
- Firefox: Rufen Sie
about:configauf, legen Sie die Zeichenketten-Einstellunggeneral.useragent.overridean und tragen Sie den String ein; zum Zurücksetzen den Eintrag einfach löschen. - Safari: Aktivieren Sie unter Einstellungen → Erweitert das Menü „Entwickler“ und wählen Sie anschließend Entwickler → User-Agent.
Echte Webcrawler verifizieren
Jeder Client kann im Header behaupten, ein Googlebot zu sein. Um zu überprüfen, ob ein Request tatsächlich von Google oder Bing stammt, führen Sie einen Reverse-DNS-Lookup auf die IP-Adresse durch – der Hostname muss auf googlebot.com, google.com oder bei nutzergesteuerten Fetchern auf googleusercontent.com enden (Bingbot löst zu search.msn.com auf). Führen Sie anschließend einen Forward-Lookup durch, der wieder dieselbe IP liefern muss. Google und Microsoft stellen ihre offiziellen Crawler-IP-Bereiche zudem als JSON-Dateien bereit. Verlassen Sie sich bei Whitelists niemals allein auf den User-Agent-String.
Häufige Fragen
Wie lautet mein aktueller User-Agent?
Ihr User-Agent wird oben im Kasten angezeigt – zusammen mit Browser, Version, Betriebssystem und Gerätetyp, die wir daraus ermitteln. Das Auslesen erfolgt lokal im Browser über navigator.userAgent; es werden keine Daten an unseren Server übertragen.
Sind diese User-Agents echt und aktuell?
Ja, sie basieren exakt auf den Templates, die moderne Browser verwenden. Die Versionsnummern werden direkt aus den offiziellen Release-Feeds von Google, Microsoft und Mozilla (Chrome 157, Edge 156, Firefox 159) sowie Apple (Safari 27.0) bezogen. Wählen Sie Letzte 3 oder 6 Hauptversionen, um ältere Versionen beizumischen, wie es auch bei realem Web-Traffic der Fall ist.
Warum enthält jeder Windows-User-Agent die Angabe Windows NT 10.0?
Weil die Browserhersteller diesen Plattform-Wert eingefroren haben: Auch Windows 11 meldet sich als NT 10.0, um veraltete Browser-Sniffing-Skripte nicht zu stören und Fingerprinting zu erschweren. Um Windows 10 und 11 zu unterscheiden, fordern Server den High-Entropy-Client-Hint Sec-CH-UA-Platform-Version an: Version 13 oder höher steht für Windows 11.
Darf ich diese User-Agents für Web Scraping verwenden?
Sie können die Strings für eigene Tests und Skripte nutzen, sofern diese die Nutzungsbedingungen und robots.txt der jeweiligen Website einhalten. Ein realistischer User-Agent allein lässt ein Skript nicht wie einen echten Browser wirken und berechtigt niemals dazu, Zugriffsbeschränkungen zu umgehen.
Ist das Ändern des User-Agents illegal?
In der Regel nicht: Das Anpassen des User-Agents in Browsern oder eigenen Skripten ist ein ganz normaler Vorgang bei Entwicklung und Tests. Rechtliche Probleme können jedoch entstehen, wenn damit vorsätzlich Zugriffssperren umgangen oder falsche Identitäten zur Täuschung vorgetäuscht werden.