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

BrowserExample 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

BrowserExample 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

CrawlerExample User-Agent string
GooglebotMozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
BingbotMozilla/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.