User Agent Parser — What Is My User Agent? Browser, OS, Device
See your own user agent and client hints, or parse any UA string into browser, engine, OS, device and CPU. Bulk mode with CSV.
Detecting your browser…
Runs entirely in your browser. Your user agent, client hints and pasted lists are not sent or stored anywhere. Browse all free tools.
Found a problem, or something that could be better? We read every message and we fix things quickly.
This user agent parser shows the user agent string your browser sends and breaks it into browser, rendering engine, operating system, device type, vendor, model and CPU architecture. Paste any other UA string, from a server log or a bug report, and it is decoded the same way; switch to bulk mode to parse thousands of lines at once and export them as CSV. Known crawlers such as Googlebot, Bingbot, GPTBot and ClaudeBot, link-preview fetchers and HTTP clients like curl are flagged.
User agent strings are less informative than they used to be. Chrome now sends a reduced UA with a frozen version (129.0.0.0) and, on Android, a fake device model “K”; every browser on a Mac reports macOS 10.15.7; and Windows 11 says it is Windows 10. Where your browser supports User-Agent Client Hints, the tool also shows what those reveal, along with screen, viewport, language and time zone. Parsing uses the open-source ua-parser-js library and runs on your device; nothing is logged.
How to use
- Open the page: your own user agent is filled in and parsed straight away, with client hints and browser details on the right.
- To decode a different user agent, paste it into the box, or click one of the examples (iPhone, Android, Googlebot and so on).
- Read the notes under the result: they explain when a field cannot be trusted, such as frozen macOS versions or reduced Chrome strings.
- For logs, choose Bulk parse, paste one user agent per line and download the table as CSV.
Frequently asked questions
What is a user agent string?
It is the value of the User-Agent HTTP header that a browser or other client sends with every request, describing the software making it. Sites use it for analytics, bot detection and, less wisely, for serving different content to different browsers. Almost every browser string still starts with “Mozilla/5.0” for historical compatibility reasons, which is why they look so confusing.
Why does my Mac show macOS 10.15.7?
Safari, Chrome, Edge and Firefox all freeze the macOS version in the user agent at 10.15.7 (Catalina), whatever version you actually run. It was done for privacy and because some sites broke when the version number reached 11. The real version is not in the UA string; in Chromium browsers a site can request it through the Sec-CH-UA-Platform-Version client hint.
How do I tell Windows 10 from Windows 11?
Not from the user agent: both send “Windows NT 10.0”. In Chrome and Edge, the platform version client hint (navigator.userAgentData.getHighEntropyValues or the Sec-CH-UA-Platform-Version header) returns 13 or higher on Windows 11 and 10 or lower on Windows 10. Firefox and Safari do not support client hints, so there is no reliable way in those browsers.
What are User-Agent Client Hints?
A replacement for the user agent string in Chromium browsers (Chrome, Edge, Opera, Samsung Internet). Low-entropy hints such as browser brand, major version, platform and whether the device is mobile are sent by default. High-entropy hints, such as the exact OS version, device model and full browser version, are only sent when a site asks for them, which makes passive fingerprinting harder.
Can I trust the user agent to detect bots?
Only as a first filter. Any client can send any user agent, and scrapers routinely pretend to be Chrome or Googlebot. To confirm that a request really comes from Googlebot or Bingbot, do a reverse DNS lookup on the IP and check that it resolves to googlebot.com, google.com or search.msn.com, then a forward lookup back to the same IP. Some operators, such as OpenAI, also publish their crawler IP ranges.
Is my user agent sent anywhere by this tool?
No. The page reads it from your browser and parses it locally with JavaScript. Of course, every website you visit receives your user agent in the request header anyway; this tool just shows you what they see.
How to read a user agent string
Take a typical Chrome on Windows string: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36.
• Mozilla/5.0 is a compatibility token every modern browser sends; it means nothing today.
• (Windows NT 10.0; Win64; x64) is the platform: Windows 10 or 11, 64-bit.
• AppleWebKit/537.36 (KHTML, like Gecko) is another compatibility token; Chrome’s engine is actually Blink.
• Chrome/129.0.0.0 is the real browser and its major version; the minor parts are zeroed by Chrome’s UA reduction.
• Safari/537.36 is there so sites that sniff for Safari treat Chrome as WebKit-compatible. Edge appends Edg/, Opera OPR/ and Samsung Internet SamsungBrowser/ to the same base string, which is why parsers check those tokens first.
Feature detection beats user agent sniffing
If you are reading this because you want to serve different code to different browsers, test for the feature instead: CSS @supports, “'serviceWorker' in navigator”, or a library’s capability check. User agents are spoofed, frozen and reduced, and a check written against today’s strings breaks when a browser changes its version format. Keep UA parsing for analytics, debugging reports and bot filtering, where an occasional wrong guess does no harm.
Common crawler and bot user agents
• Googlebot: contains “Googlebot/2.1”; Google-Extended is a robots.txt token for AI training use, not a separate crawler string.
• Bingbot: contains “bingbot/2.0”.
• GPTBot, OAI-SearchBot and ChatGPT-User (OpenAI), ClaudeBot and Claude-User (Anthropic), PerplexityBot: AI crawlers and user-triggered fetchers, each documented by its operator and controllable in robots.txt.
• facebookexternalhit, Twitterbot, LinkedInBot, Slackbot, Discordbot: fetch pages to build link previews when someone shares a URL.
• curl/, Wget/, python-requests/, Go-http-client/, okhttp/: scripts and back-end services. Not necessarily malicious, but not a person with a browser.
Related free tools
- HTTP Status Codes — Every official HTTP status code from 100 to 511, plus nginx, Cloudflare and AWS codes, with when to use each.
- Regex Tester — Test a regular expression against sample text with live match highlighting, capture groups and replace preview. Free, in your browser.
- JSON Formatter — Pretty-print, minify and validate JSON, with parse errors located by line and column. In your browser, no upload.
- Robots.txt Generator — Build a robots.txt with presets for allow-all, staging and WordPress, an AI crawlers section (block training, keep AI search), and warnings for the mistakes that de-index sites.