UA Common Browser and Crawler User Agent Strings
Reference list of real User-Agent strings for Chrome, Firefox, Safari, Edge, and common crawlers, with an explanation of each part.
What is a User-Agent string?
The User-Agent HTTP request header is a text string that identifies the application making a request — a browser, a mobile app, a script, or an automated crawler. Servers use it to serve appropriate content (mobile vs desktop layouts), gather analytics, and decide whether to allow or block a given client.
A User-Agent string is entirely self-reported — any client can put anything in it. It's a useful signal, not a security boundary; see identifying real crawlers for how to actually verify one.
Desktop browsers
| Browser | Example User-Agent string |
|---|---|
| Chrome (Windows) | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 |
| Chrome (macOS) | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 |
| Firefox (Windows) | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0 |
| Safari (macOS) | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15 |
| Edge (Windows) | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0 |
Mobile browsers
| Browser | Example User-Agent string |
|---|---|
| Safari (iOS) | Mozilla/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 |
| Chrome (Android) | Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Mobile Safari/537.36 |
Why almost every browser says "Mozilla" and "like Gecko"
Every major browser's User-Agent starts with Mozilla/5.0 and, regardless of actual engine, includes phrases like like Gecko — pure historical legacy. In the mid-1990s, sites checked the User-Agent string to decide whether to serve Netscape-specific or Internet Explorer-specific markup. As new browsers launched, each one added the tokens sites were already checking for so it wouldn't get served a broken, unsupported page — creating a chain of impersonation that's carried forward, largely unchanged, for three decades. The actual engine and version are identified by the later tokens (Chrome/124..., Gecko/20100101 Firefox/125...), not the ones at the start.
Common crawlers and bots
| Crawler | Example User-Agent string |
|---|---|
| Googlebot | Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) |
| Bingbot | Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) |
| GPTBot (OpenAI) | Mozilla/5.0 (compatible; GPTBot/1.1; +https://openai.com/gptbot) |
| ClaudeBot (Anthropic) | Mozilla/5.0 (compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
See identifying Googlebot, Bingbot, and AI crawlers for how to tell a real one from a spoofed one, and how to allow or block them in robots.txt.
Frequently asked questions
Can I trust a User-Agent string for security decisions?
No — it's a plain text header any client can set to anything. It's fine for content adaptation (serving a mobile layout) and rough analytics, but never as an access-control mechanism on its own. See the crawler identification page for how legitimate bots are actually verified.
Why do bot User-Agent strings include a URL?
Reputable crawlers include a link to a page explaining what the bot is and how to control it (e.g. +http://www.google.com/bot.html) — it's a courtesy so a site operator who sees the bot in their logs can find out what it is and how to opt out.
Where can I see my own current User-Agent string?
Pingfloat's What's My User Agent tool shows exactly what your current browser is sending, parsed into browser, engine, and OS.