Zero Signup ToolsFree browser tools

Developer Tools

User Agent Generator

Generate realistic User-Agent strings for Chrome, Firefox, Safari, Edge, and Opera on Windows, macOS, Linux, Android, and iOS. Random or bulk, no signup.

User agent string generator

Pick a platform and browser to build one realistic User-Agent string, or roll a random coherent combination.

Platform

Windows 10 and 11 both report NT 10.0 in the UA string.

Browser

Output

User-Agent string

111 bytes

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
Chrome on Windows, a desktop client. Chrome reports AppleWebKit and a trailing Safari token for legacy compatibility even though it uses the Blink engine.

Use it in a request

Copy-ready client snippets

The generated User-Agent is wired into each example.

curl

curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36' 'https://example.com'

JavaScript fetch

fetch("https://example.com", {
  headers: { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36" },
});

Python (requests)

import requests

requests.get(
    "https://example.com",
    headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36"},
)

Node.js (undici / fetch)

await fetch("https://example.com", {
  headers: { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36" },
});

Raw request header

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36

How a User-Agent string is built

  • Almost every browser starts with Mozilla/5.0 for historical compatibility, even Chrome, Edge, and Safari.
  • The first parenthesized group holds the operating system and device, like Windows NT 10.0; Win64; x64 or Linux; Android 14; Pixel 8.
  • Chromium browsers carry AppleWebKit/537.36 (KHTML, like Gecko) and a trailing Safari/537.36 token, with their own marker (Edg, OPR) at the end.
  • On iOS, every browser is required to use WebKit, so Chrome shows CriOS and Firefox shows FxiOS rather than their desktop engine.

Good to know

  • A User-Agent is a hint, not proof. Servers should treat it as advisory because any client can send any value.
  • These strings use current-era version numbers, but real values change with every browser release, so verify against live traffic for critical filtering.
  • To confirm a generated string parses the way you expect, drop it into the User Agent Parser. To inspect or build other request headers, use the HTTP Headers Parser and Accept-Language tools.
  • Everything here runs in your browser. The strings you generate are never uploaded.

How to use

  1. Keep Build one selected, then choose a platform such as Windows, macOS, Android, or iPhone.
  2. Pick a browser from the ones that ship on that platform (Chrome, Firefox, Safari, Edge, or Opera).
  3. Read the generated User-Agent string and the note that explains its structure, then use New version to reroll the version and device or Randomize for a random coherent combination.
  4. Copy the string, the full User-Agent header line, or one of the curl, fetch, Python, or Node snippets with the matching Copy button.
  5. Switch to Generate a list, set a count from 1 to 200, and use Copy all to grab a batch of varied strings. Everything runs in your browser.

About this tool

User Agent Generator builds a realistic HTTP User-Agent request header string for the browser and device you choose, the exact reverse of what the User Agent Parser does. Pick a platform (Windows, macOS, Linux, Android phone, iPhone, or iPad) and a browser (Chrome, Firefox, Safari, Edge, or Opera), and the tool assembles a string a real server would accept, using the rigid templates each browser follows. That matters because User-Agent strings are full of legacy quirks: almost every browser still begins with Mozilla/5.0, Chromium browsers carry an AppleWebKit/537.36 (KHTML, like Gecko) token and a trailing Safari/537.36 even though they use the Blink engine, Edge appends an Edg marker, Opera appends OPR, and on iOS every browser is required to use Apple's WebKit engine, so Chrome shows CriOS and Firefox shows FxiOS rather than their desktop engine. Hand-writing these by memory is error-prone, so this tool keeps the structure correct for you. Each platform only offers the browsers that actually ship on it, mobile strings embed a believable device model such as Pixel 8 or a Galaxy model token, and the version numbers come from current-era pools so nothing looks impossibly old or invented. A New version button rerolls the version and device while keeping your platform and browser, a Randomize button picks a coherent platform and browser pair at random, and a plain-language note explains why the chosen string looks the way it does. Switch to the list mode to generate up to 200 varied, valid User-Agent strings at once across a random mix of desktop and mobile clients, which is handy for test fixtures, seed data, request rotation, or building an allow or deny list. Copy-ready snippets wire the generated string into curl, JavaScript fetch, Python requests, Node, and a raw request header so you can paste it straight into a client. A User-Agent is a hint and not proof of identity, since any client can send any value, and real version numbers change with every browser release, so verify against live traffic for critical filtering. Everything runs entirely in your browser: the strings you generate are never uploaded, there is no signup, and there is no tracking. It pairs naturally with the User Agent Parser to confirm a string classifies the way you expect, and with the HTTP Headers Parser and Accept-Language tools for the rest of a request.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDeveloper Tools