Zum Inhalt springen

Zufälliger User-Agent-Generator - Browser-Strings erstellen

Generieren Sie authentische User-Agent-Strings für Chrome, Firefox, Safari und Edge. Testen Sie Browser-Kompatibilität, responsive Designs und APIs mit realistischen Browser-Identifikatoren.

Zufälliger User-Agent-Generator

Generieren Sie zufällige, realistische Browser-User-Agent-Zeichenfolgen für Webentwicklungs-Tests.

Generierter User-Agent

Ladekalkulator...
📚

Dokumentation

Zufälliger User-Agent-Generator

Ein zufälliger User-Agent-Generator erstellt beispielhafte User-Agent-Strings, also kurze Textzeilen, die ein Webbrowser an eine Website sendet, um sich zu identifizieren. Dieses Tool erstellt Strings im echten Format von Chrome, Firefox, Safari und Edge für Desktop- und Mobilgeräte, damit Entwickler testen können, wie eine Website auf verschiedene Browser reagiert, ohne jeden einzelnen zu installieren.

Was ist ein User-Agent-String?

Jedes Mal, wenn ein Browser eine Webseite anfordert, sendet er einen HTTP-Header User-Agent. Der Header besteht aus einer einzigen Textzeile, die den Browsernamen, seine Version, das Betriebssystem und die Rendering-Engine beschreibt, also den Teil des Browsers, der die Seite zeichnet. Eine Website kann diesen Header auslesen und entscheiden, welches Seitenlayout oder welche Funktionen sie zurücksendet.

Ein typischer User-Agent-String sieht so aus:

1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2

Nahezu jeder Browser beginnt seinen String mit „Mozilla/5.0“. Dies ist ein Überbleibsel aus den 1990er-Jahren, als Websites anhand dieses Wortes prüften, ob ein Browser eine Seite anzeigen konnte. Neuere Browser behielten das Token bei, damit sie nicht durch alte Prüfungen blockiert wurden.

So funktioniert dieser Generator

Das Tool verfügt über drei Einstellungen:

  1. Gerätetyp – Desktop oder Mobilgerät.
  2. Browserfamilie – Chrome, Firefox, Safari oder Edge.
  3. Betriebssystem – Windows, macOS oder Linux für Desktopgeräte; iOS oder Android für Mobilgeräte.

Nicht jede Kombination kommt in der Praxis vor, daher schränkt das Tool die Auswahl ein. Safari wird nur für macOS und iOS angezeigt, da Apple Safari nicht für Windows, Linux oder Android anbietet. Chrome, Firefox und Edge sind auf jedem aufgeführten Betriebssystem verfügbar, einschließlich iOS, wo sie als Oberfläche über Apples WebKit-Engine und nicht über ihre eigene Engine ausgeführt werden.

Ein Klick auf „Neu generieren“ erstellt anhand dieser drei Einstellungen und einer zufällig ausgewählten Versionsnummer einen String. Die Schaltfläche „Kopieren“ kopiert das Ergebnis in die Zwischenablage.

User-Agent-String-Format nach Browser

Jeder Browser füllt eine ähnliche Vorlage mit seinen eigenen Tokens aus.

Chrome (Desktop):

1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Safari/537.36
2

Chrome (Android):

1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Mobile Safari/537.36
2

Chrome (iOS):

1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/major.0.build.build Mobile/15E148 Safari/604.1
2

Firefox (Desktop):

1Mozilla/5.0 (platform; rv:major.0) Gecko/20100101 Firefox/major.0
2

Firefox (Android):

1Mozilla/5.0 (Android version; Mobile; rv:major.0) Gecko/major.0 Firefox/major.0
2

Firefox (iOS):

1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/major.0 Mobile/15E148 Safari/605.1.15
2

Safari (macOS):

1Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/major.minor Safari/605.1.15
2

Safari (iOS):

1Mozilla/5.0 (iPhone; CPU iPhone OS major_minor like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/major.minor Mobile/15E148 Safari/604.1
2

Edge (Desktop):

1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Safari/537.36 Edg/major.0.build.build
2

Edge (Android):

1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Mobile Safari/537.36 EdgA/major.0.build.build
2

Edge (iOS):

1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/major.minor EdgiOS/major.0.build.build Mobile/15E148 Safari/605.1.15
2

Apple verlangt, dass jeder iOS-Browser WebKit verwendet. Daher enthalten die iOS-Formate oben das gemeinsame Safari-Engine-Token AppleWebKit/605.1.15 und zusätzlich eine browserspezifische Kennung: CriOS/ für Chrome, FxiOS/ für Firefox und EdgiOS/ für Edge. Keiner dieser Browser enthält ein Chrome/- oder Gecko/-Token. Safari und Edge unter iOS senden außerdem ein Version/-Token, das die Safari-Version angibt, die mit dem Betriebssystem ausgeliefert wurde. Daher stimmt sie im selben String immer mit der iOS-Version überein.

Seit 2021 haben Chrome und Chromium-basierte Browser wie Edge den größten Teil ihrer Versionsnummer auf Desktopgeräten und unter Android eingefroren, um die Menge identifizierender Informationen im Header zu verringern. Google nennt diese Änderung „User-Agent Reduction“. Statt einer echten Build-Nummer lautet das Chrome-Token in diesen Strings immer major.0.0.0, beispielsweise 128.0.0.0, und dieser Generator verhält sich entsprechend. Die Ausnahme bilden Edges eigene Tokens – Edg/ auf Desktopgeräten, EdgA/ unter Android und EdgiOS/ unter iOS – sowie Chrome unter iOS (CriOS/). Sie enthalten weiterhin eine vollständige vierteilige Build-Nummer, da Googles Reduktionsrichtlinie für sie nicht gilt.

Firefox hat diese Form des Einfrierens nicht übernommen. Seine echte Versionsangabe besteht normalerweise nur aus zwei Teilen, major.0, und genau diese Form erzeugt der Generator. Eine dreiteilige Firefox-Version wie 95.0.2 kann nach einem Sicherheitsupdate in freier Wildbahn vorkommen, aber dieses Tool erzeugt nur die zweiteilige Form.

Beispielausgaben

Desktop-Chrome unter Windows:

1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2

Desktop-Firefox unter macOS:

1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0
2

Desktop-Safari unter macOS:

1Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15
2

Desktop-Edge unter Windows:

1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.2903.86
2

Mobiler Chrome unter Android:

1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36
2

Mobiler Edge unter Android:

1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36 EdgA/128.0.2952.62
2

Mobiler Safari auf dem iPhone:

1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Mobile/15E148 Safari/604.1
2

Mobiler Firefox unter Android:

1Mozilla/5.0 (Android 13; Mobile; rv:130.0) Gecko/130.0 Firefox/130.0
2

Mobiler Chrome auf dem iPhone:

1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/128.0.6613.98 Mobile/15E148 Safari/604.1
2

Mobiler Firefox auf dem iPhone:

1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/130.0 Mobile/15E148 Safari/605.1.15
2

Mobiler Edge auf dem iPhone:

1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 EdgiOS/128.0.2952.62 Mobile/15E148 Safari/605.1.15
2

Unterschiede zwischen Desktop und Mobilgeräten

Desktop-Strings nennen das Betriebssystem und häufig auch die Prozessorarchitektur: Win64; x64 für 64-Bit-Windows oder Intel Mac OS X für einen Mac. Sie bleiben relativ einheitlich, da nur eine kleine Anzahl von Desktopplattformen dargestellt werden muss.

Mobile Strings enthalten meist zusätzlich das Wort „Mobile“, damit eine Website weiß, dass sie ein für Touchbedienung geeignetes Layout ausliefern soll. iOS-Geräte identifizieren sich zusammen mit der iOS-Version als „iPhone“. Die Version wird mit Unterstrichen geschrieben (17_4), wobei die abschließende Null für den Patchstand weggelassen wird: also 17_4 statt 17_4_0. Android ist anders: Aufgrund derselben Richtlinie zur Versionsreduzierung, die auch die Build-Nummer von Chrome betrifft, melden Chrome und Edge unter Android die Plattform immer als Linux; Android 10; K, unabhängig davon, welche Android-Version oder welches Telefon tatsächlich verwendet wird. Das „K“ ist ein Platzhalter und kein echter Gerätecode; die tatsächliche Android-Version bleibt verborgen. Firefox für Android friert die Version nicht auf dieselbe Weise ein, sondern meldet die echte Android-Hauptversion, enthält jedoch überhaupt kein Gerätemodell. Ein Generator, der ein bestimmtes Telefonmodell, etwa eine Galaxy-Modellnummer, in einem Android-Chrome-String anzeigt, würde daher nicht dem Verhalten eines aktuellen echten Chrome entsprechen.

Warum User-Agent-Strings verwirrend aussehen

Der String wirkt durch jahrzehntelange Kompatibilitätsanpassungen überladen. In den „Browserkriegen“ der späten 1990er-Jahre lieferten manche Websites bessere Seiten nur an Netscape oder nur an Internet Explorer aus und prüften dazu Schlüsselwörter im Header. Konkurrierende Browser reagierten, indem sie dieselben Schlüsselwörter in ihre eigenen Strings aufnahmen, damit sie nicht abgewiesen wurden. Deshalb erwähnt der Chrome-String weiterhin „Safari“ und „like Gecko“, obwohl Chrome keine der beiden Engines unter diesem Namen verwendet. Jedes Token ist ein Überbleibsel eines Handshakes, der eine alte Kompatibilitätsprüfung erfüllen sollte, und keine wahrheitsgetreue Beschreibung der Software.

Da so viele Websites diese Strings noch immer auswerten, können Browserhersteller die überflüssigen Bestandteile nicht einfach entfernen, ohne Seiten funktionsunfähig zu machen. Der langfristige Ersatz heißt User-Agent Client Hints. Dabei werden Browserdetails als separate, strukturierte Header statt als ein langer String gesendet. Der klassische User-Agent-Header wird aus Gründen der Rückwärtskompatibilität jedoch weiterhin überall gesendet.

Häufige Anwendungen

  • Kompatibilitätstests. Prüfen, wie eine Seite dargestellt wird, wenn sie einen bestimmten Browser erkennt, ohne diesen Browser zu installieren.
  • Prüfungen des responsiven Designs. Bestätigen, dass eine Website ein mobiles Layout ausliefert, wenn sie einen mobilen User-Agent empfängt, und andernfalls ein Desktop-Layout.
  • Automatisierte Testsuiten. Eine Reihe von User-Agent-Strings in Testskripte einspeisen, um zu prüfen, ob der Code zur Browsererkennung jeden einzelnen korrekt verarbeitet.
  • Tests von APIs und Headern. Überprüfen, ob ein Server korrekt reagiert, wenn verschiedene Clienttypen Anfragen senden.

Einschränkungen

Der User-Agent-Header ist nur eines von vielen Signalen, die eine Website auslesen kann. Auf der Seite ausgeführte Skripte können Dutzende weitere Details prüfen, etwa installierte Schriftarten, die Bildschirmgröße und die Art, wie die Grafikkarte ein Testbild rendert – eine Technik, die als Fingerprinting bezeichnet wird. Das Einstellen eines Chrome-User-Agents beim tatsächlichen Surfen mit Firefox täuscht eine Website, die diese anderen Signale prüft, daher nicht; die Abweichung ist leicht zu erkennen. Für die alltägliche Entwicklungs- und Qualitätssicherungsarbeit reicht ein korrekt formatierter generierter String jedoch aus, um zu testen, wie Server- und Clientcode einer Website auf verschiedene Browser und Geräte reagieren.

Häufig gestellte Fragen

Was ist ein User-Agent-String? Es handelt sich um eine Textzeile, die ein Browser mit jeder Webanfrage sendet und die Browser, Version, Betriebssystem und Rendering-Engine angibt. Server verwenden diese Information, um zu entscheiden, welche Inhalte oder welches Layout sie zurückgeben.

Warum endet die Chrome-Version immer mit .0.0.0? Seit 2021 hat Chrome den größten Teil der Versionsnummer, die es im User-Agent-Header meldet, eingefroren, um Fingerprinting zu erschweren. Nur die Hauptversionsnummer ändert sich; der Rest bleibt auf .0.0.0 festgelegt. Edges eigenes Token und alle Browser unter iOS bilden die Ausnahme und zeigen weiterhin eine vollständige Build-Nummer.

Warum enthält ein iPhone-String „Safari“, auch wenn ein anderer Browser ausgewählt ist? Apple verlangt, dass alle iOS-Browser die WebKit-Engine von Apple verwenden. Daher melden Chrome, Firefox und Edge unter iOS alle WebKit und enden mit einem Safari/-Token. Der Browser wird durch eine separate Kennung angegeben: CriOS/ für Chrome, FxiOS/ für Firefox und EdgiOS/ für Edge.

Warum wird im Android-String mein Telefonmodell nicht angezeigt? Aktuelle Versionen von Chrome und Edge unter Android melden für jedes Gerät und jede tatsächliche Android-Version die feste Plattformangabe Linux; Android 10; K. Dies ist Teil derselben Richtlinie zur Versionsreduzierung, die auch die Chrome-Build-Nummer betrifft. Das tatsächliche Modell und die Android-Version werden nicht offengelegt.

Kann ich einen generierten User-Agent für Web-Scraping verwenden? Das Ändern des Headers ist möglich, aber Websites können eine Abweichung anhand anderer Signale erkennen. Außerdem kann Scraping gegen die Nutzungsbedingungen einer Website oder die Regeln von robots.txt verstoßen. Die Richtlinien der Website sollten vor dem Scraping geprüft werden.

Ist ein generierter String mit dem String eines echten Geräts identisch? Er folgt demselben Format und derselben Reihenfolge der Tokens wie ein echter Browser dieses Typs. Aufgrund des Einfrierens der Version bei Chrome und Edge unter Android können ein generierter Android-Chrome-String und ein echter String im Plattformteil identisch sein, da echte Geräte denselben festen Wert melden.

Was sind Client Hints, und ersetzen sie den User-Agent-String? Client Hints ist ein neueres System, das Browser- und Gerätedetails als separate HTTP-Header statt als einen gemeinsamen String sendet. Browser unterstützen dieses Verfahren zunehmend, der klassische User-Agent-Header bleibt jedoch weit verbreitet, da viele bestehende Websites weiterhin darauf angewiesen sind.