What Is My User Agent?
Your user agent is the text string your browser or app sends with every request to identify itself. Here's yours, read live from the request header your browser just sent:
Your user-agent string
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) What Is a User Agent, Exactly?
A user agent is any piece of software that acts on behalf of a user to interact with web servers. In practice, the term almost always refers to the user-agent string — a line of text sent in the HTTP User-Agent header with every request your browser, app, or script makes.
When you load a page, your browser quietly tells the server things like:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 That one string identifies the browser (Chrome 122), the rendering engine (Blink, via WebKit), the operating system (Windows 10 64-bit), and some compatibility claims for historical reasons. The server reads it before responding and can use it to adjust what it sends back.
Breaking Down a User-Agent String
User-agent strings look chaotic because they've accumulated tokens over 30 years of browser compatibility wars. To understand how to read one, let's break down a typical string from a slightly older browser version — Chrome 122 — and see what each part means:
Mozilla/5.0— A historical token. Almost every browser pretends to be "Mozilla" for compatibility with old servers that only sent full-featured content to Netscape.(Windows NT 10.0; Win64; x64)— The operating system and architecture.Windows NT 10.0is Windows 10/11;Macintosh; Intel Mac OS X 10_15_7would be macOS;X11; Linux x86_64would be Linux.AppleWebKit/537.36 (KHTML, like Gecko)— More compatibility theater. Chrome uses the Blink engine (a WebKit fork), which was originally derived from KHTML. Browsers claim to be "like Gecko" so Firefox-specific server code still works.Chrome/122.0.0.0— The actual browser name and version. This is usually the only part that's really accurate.Safari/537.36— A frozen historical artifact. The number 537.36 is the exact WebKit build from 2013, when Google forked WebKit to create Chrome's Blink engine. It has been permanently frozen in Chrome's user-agent ever since, even though Blink has since diverged significantly.
Bots skip most of the theater. A typical crawler user-agent looks much cleaner:
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) Notice the +http://… link — legitimate bots include a URL to documentation explaining what they do. You can see the full list of crawler user-agents in the bot catalogue.
Why Websites Care About Your User Agent
The user-agent string is the first signal a server has about who's on the other end of the connection. Sites use it for a handful of practical reasons:
- Device and layout detection. A mobile user-agent can trigger a different layout, smaller images, or a redirect to an m. subdomain.
- Browser-specific workarounds. Some CSS or JavaScript needs different handling in Safari vs. Chrome. The user agent tells the server (or client-side code) which path to take.
- Bot detection. Self-identifying crawlers like Googlebot or GPTBot say who they are in the user agent. Sites use this to apply different caching, rate limits, or access rules.
- Analytics and logging. Server logs record the user agent on every request, which is how you can later tell how much of your traffic is Chrome vs. Safari vs. bots.
- Compatibility gates. Some apps refuse to load in unsupported browsers based on a user-agent check.
Can You Change Your User Agent?
Yes — and it's surprisingly easy. Every browser lets you override the user agent for testing purposes:
- Chrome / Edge: DevTools → More tools → Network conditions → uncheck "Use browser default" → pick a preset or paste a custom string.
- Firefox:
about:config→ setgeneral.useragent.overrideto any string. - Safari: Develop menu → User Agent → pick or enter custom.
- Command line:
curl -A "MyCustomAgent/1.0" https://example.comsends whatever you want.
This is called user-agent spoofing. It's useful for testing mobile layouts from a desktop, reproducing bug reports, or pretending to be a search engine to see a cached version of a paywalled page. It's also trivially used by scrapers to disguise themselves as real browsers — or as Googlebot, to slip past allowlists.
Because spoofing is so easy, any system that makes important decisions based on user-agent alone is broken. That's why serious bot identification combines the user-agent string with reverse-DNS verification, IP range checks, and behavioral analysis. See how to detect bot traffic for the full picture.
User Agents and Privacy
Your user-agent string doesn't identify you personally, but it does leak information: your OS, your OS version, your browser, your browser version, sometimes your device model. Combined with your IP address, screen size, installed fonts, and other browser-exposed signals, it contributes to a browser fingerprint that can be unique enough to track you across sites without cookies.
Because of this, browsers have been gradually reducing what they put in the user-agent string:
- Chrome's User-Agent Reduction (rolled out 2022-2023) freezes minor version numbers and flattens platform details to reduce fingerprinting surface.
- Safari rounds the OS version to a fixed value and has been shortening its string since 2020.
- User-Agent Client Hints is a newer standard where the browser sends only basic, low-entropy headers (
Sec-CH-UA,Sec-CH-UA-Mobile,Sec-CH-UA-Platform) with every request by default. Servers must explicitly request additional high-entropy details (like exact OS version or device model) via theAccept-CHresponse header only when they actually need them.
If you want to protect yourself against browser fingerprinting, changing your user agent alone won't help much — the other signals are usually enough to identify you. Tools like Tor Browser give everyone an identical user agent and normalize the rest of the fingerprint in parallel.
User Agents and Bots
User agents are how most bots announce themselves. Well-behaved crawlers follow a loose convention: a compatibility token, their bot name with a version, and a URL pointing to documentation. For example:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)Mozilla/5.0 (compatible; ClaudeBot/1.0; +claudebot@anthropic.com)Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)
Because user-agent checks are the simplest way to allow or block crawlers, robots.txt rules are almost always written against user-agent tokens:
User-agent: GPTBot
Disallow: /
User-agent: Googlebot
Allow: / But remember: the user agent is self-reported. A scraper can set its user agent to Googlebot/2.1 and any system that trusts user-agent at face value will treat it as real Google traffic. The only way to be sure is to verify the IP with reverse-DNS or an IP allowlist published by the operator.
Frequently Asked Questions
Where does the user-agent string come from?
The browser itself generates it at startup, based on its build, your operating system, and the browser vendor's current conventions. It's then sent as the User-Agent HTTP header with every outgoing request.
Is the user agent the same as the IP address?
No. The IP address identifies the network endpoint; the user agent identifies the software making the request. Both are sent with every request and both appear in server logs, but they answer different questions.
Does incognito or private mode change my user agent?
No. Private browsing windows send the same user-agent string as regular windows. It primarily affects cookies, history, and cache — not outbound headers.
Can two users have the same user agent?
Constantly. Every person running Chrome 122 on Windows 11 sends essentially the same user-agent string. It's not a unique identifier on its own.
How can I check my user agent without JavaScript?
The box at the top of this page is rendered server-side from the User-Agent header — no JavaScript required. That's also why it works for bots and command-line tools like curl.
Can AI See It identifies and verifies 800+ bots on your site in real time — including fake bot detection, per-crawler analytics, and AI referral tracking. If you want to know not just what user-agents are visiting your site but which ones are actually worth letting in, start monitoring your bot traffic.