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
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
- Keep Build one selected, then choose a platform such as Windows, macOS, Android, or iPhone.
- Pick a browser from the ones that ship on that platform (Chrome, Firefox, Safari, Edge, or Opera).
- 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.
- Copy the string, the full User-Agent header line, or one of the curl, fetch, Python, or Node snippets with the matching Copy button.
- 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
User Agent Parser
Decode any User-Agent into browser, engine, OS, device, and bot info.
Open tool
DeveloperHTTP Headers Parser
Parse, classify, and decode HTTP headers, with a missing security headers audit.
Open tool
DeveloperAccept-Language Header Parser
Parse, build, and run RFC 4647 lookup matching against an Accept-Language header.
Open tool
DevelopercURL Command Builder
Form-driven builder that emits curl, PowerShell, HTTPie, wget, fetch, and raw HTTP/1.1.
Open tool
DeveloperMIME Type Lookup
Find the MIME type for any extension, with Content-Type header and aliases.
Open tool