User Agent Checker and Parser: What Is My User Agent?
What a website sees about your browser
The values come from the request that loaded this page and from your browser. Nothing is sent from here.
| Name | Value | Where from |
|---|
Do the places agree?
A browser normally says the same thing in all these places. A difference can mean that something changes one place and not the others, for example a replaced User-Agent. This compares what your browser reports. It is not a test by a website: the IP address, fonts, canvas and other signals are not checked.
Analyze a User-Agent string
Paste any User-Agent. The string is sent to our server and parsed with the WhichBrowser library. Nothing else is sent and the string is not stored.
User Agent Checker and Parser: What Is My User Agent?
The User-Agent is a line of text that a browser or a program sends to a website with every request. This page shows your User-Agent and the Client Hints that go with it, checks that they agree with each other, and parses any User-Agent string. It was made to check the user agents that antidetect browsers generate: open the page inside a profile and see whether the header, JavaScript and Client Hints say the same thing. To compare antidetect browsers in team mode see AntidetectHub, and for the choice of proxies for profiles see its proxy list.
What the page shows
- The HTTP header User-Agent: what the server of this page received in the request.
navigator.userAgent: what JavaScript of the page reads from the browser.- Client Hints of JavaScript (
navigator.userAgentData): the brands with their versions, the flagmobileand theplatform. The button "Show more Client Hints" asks the browser for the architecture, the model, the platform version and the full version list (getHighEntropyValues()). Not every browser provides this interface. - Client Hints headers that came with the request. Google says that three hints are sent by default: the browser name and major version, the mobile flag and the name of the OS.
What the checks compare
- The header and
navigator.userAgentare the same string. - The system in the string (Windows, macOS, Linux, Android) and the
platformof the Client Hints. - The word Mobile in the string and the flag
mobile. - The major version of Chrome or Edge in the string and in the brands.
- The Client Hints headers of the request and the Client Hints of JavaScript.
A check that cannot be made (for example, when the browser has no navigator.userAgentData) is shown as such and does not count as a mismatch. The tool has no database of "good" user agents: it only compares what your browser says about itself in different places.
Why the User-Agent says less than before
Google describes it this way: "User-Agent (UA) reduction minimizes the identifying information shared in the User-Agent string, which may be used for passive fingerprinting." An example of a reduced string from the same page: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.0.0 Mobile Safari/537.36. The device model, the platform version and the full browser version are not in such a string. User-Agent Client Hints "allow access to the full set of User-Agent data, but only when servers actively declare an explicit need for specific pieces of data". So a parser can tell you the browser and the family of the system from a reduced string, but not the real version of the system or the model of the phone.
How to change the User-Agent in Chrome
- Open the developer tools and the panel "Network conditions" (from the Network panel or from the command menu).
- In the section "User agent" turn off the checkbox "Use browser default".
- Choose a string from the list or enter your own.
- Reload the page. Then reload this page to see which of the values above have changed.
How to set the User-Agent in code
- curl: the option
-Aor--user-agentplus the string, or as a normal header:-H "User-Agent: foobar/2000". Without it curl sendscurl/and its version, for examplecurl/7.54.1. - Python (requests): pass a dict to the parameter
headers:headers = {'user-agent': 'my-app/0.0.1'} r = requests.get(url, headers=headers)
User-agent in robots.txt
The line User-agent in robots.txt names the crawler that the rules below it apply to. Google documents that "the rule specifies the name of the automatic client known as search engine crawler that the rule applies to", and that the asterisk matches all crawlers except the various AdsBot crawlers, which must be named explicitly. Block only Googlebot:
User-agent: Googlebot
Disallow: /
User-Agent in Apache rules
The Apache documentation shows how to serve another page by the User-Agent. It says itself that the example is incomplete, because there are many other mobile platforms:
RewriteCond "%{HTTP_USER_AGENT}" "(iPhone|Blackberry|Android)"
RewriteRule "^/$" "/homepage.mobile.html" [L]
User agents of bots (checked on 5 October 2026)
Google publishes these strings for its crawlers; the part W.X.Y.Z is a placeholder for the version of Chrome that the crawler uses, and Google advises to use a wildcard for it when you search the logs:
- Googlebot Smartphone:
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) - Googlebot Desktop:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/W.X.Y.Z Safari/537.36
The source is the Google page about its common crawlers (developers.google.com/search/docs/crawling-indexing/google-common-crawlers). OpenAI lists the user agents of its bots on its page about bots (developers.openai.com/api/docs/bots); at the time of checking the product tokens were GPTBot/1.4, OAI-SearchBot/1.4 and ChatGPT-User/1.0. The versions change, so look at the source pages when you need the current ones.
Good to know
- The tool does not generate user agents and does not change the User-Agent of your browser.
- The string is parsed by the WhichBrowser library, which was last updated in 2024, so very new browser versions can be recognized worse. For a string that comes from a bot the answer is "bot".
- The first two blocks work in your browser and send nothing. Only the string that you paste into the last block is sent to the server.
Related tools
The HTTP status code and redirect checker can request a page with a User-Agent that you choose, and the URL parser splits an address into its parts.
Similar tools
Check the HTTP status code and response headers of any URL and follow the whole redirect chain (301, 302, 307, 308) step by step, with server IP and timings.
Fast and free URL parsing tool by DIEG. Extract host, protocol, path, and query parameters instantly. Essential DevTool for webmasters and SEO experts.
Free TTFB checker: measure the time to first byte of any website with DNS, connect, TLS and server wait times, from 1 to 5 runs and a median result.
Popular tools
Check who hosts a website: the IP address, the hosting company (ASN), the country and the city of the server. Free hosting checker for any domain.
Free IP lookup: find the country, city, coordinates and timezone of an IP address and its host name with a reverse IP (reverse DNS) lookup. IPv4 and IPv6.
Free DNS lookup online: check A, AAAA, CNAME, MX, NS, TXT, SOA and CAA records of any domain, plus its SSL certificate. Find out why a DNS lookup fails.
Check from the United States (New York) whether a website is online: HTTP status code and response time in milliseconds. A free US ping test for any URL.