Home › Developer Tools › User Agent Parser

User Agent Parser

See the user agent your browser sends, including User-Agent Client Hints where supported, and decode any user-agent string into browser, engine, operating system, device and bot status. Paste many lines at once to parse a whole log.

Your user agent

User-Agent Client Hints

Client Hints (navigator.userAgentData) are supported by Chromium browsers and give the real OS version, CPU architecture and device model that the frozen user-agent string no longer reveals.

Samples:
Advertisement

How to use the User Agent Parser

  1. Check your own user agent at the top of the tool. Open “User-Agent Client Hints” to see the extra details Chromium browsers provide.
  2. Paste a user agent string from a log file, analytics report or request header into the box, or click one of the samples.
  3. Press Parse User Agent to see the browser, engine, operating system, device, CPU and bot status as cards.
  4. Paste several lines to parse them all at once in a table, then press Export CSV to download the results.
  5. Use Copy as JSON to paste the structured result into a bug report or test.

How to read a user agent string

Take this Chrome on Windows user agent:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36

TokenMeaning
Mozilla/5.0Historic compatibility prefix sent by almost every browser.
(Windows NT 10.0; Win64; x64)Platform: Windows 10 or 11, 64-bit build on an x86-64 CPU.
AppleWebKit/537.36 (KHTML, like Gecko)Engine compatibility tokens. Chrome uses Blink, which was forked from WebKit.
Chrome/124.0.0.0The actual browser and major version (minor parts are zeroed in reduced user agents).
Safari/537.36Another compatibility token so sites that check for Safari still work.

Because so many tokens are borrowed from other browsers, the order of checks matters: a parser must look for Edg/, OPR/ or SamsungBrowser/ before Chrome/, and for Chrome/ before Safari/.

Tokens that identify popular browsers

BrowserIdentifying tokenEngine
ChromeChrome/ (desktop, Android), CriOS/ (iOS)Blink (WebKit on iOS)
Microsoft EdgeEdg/, EdgA/, EdgiOS/Blink (WebKit on iOS)
FirefoxFirefox/, FxiOS/ (iOS)Gecko (WebKit on iOS)
SafariVersion/… Safari/ without ChromeWebKit
OperaOPR/Blink
Samsung InternetSamsungBrowser/Blink
Android WebView; wv) plus Chrome/Blink
Internet Explorer 11Trident/7.0; rv:11.0Trident

Common bot and crawler user agents

BotTokenOperator / purpose
GooglebotGooglebot/2.1Google Search indexing
Bingbotbingbot/2.0Microsoft Bing indexing
ApplebotApplebot/Siri and Spotlight suggestions
GPTBot / ClaudeBot / PerplexityBotGPTBot/, ClaudeBot/, PerplexityBot/AI crawlers (controllable in robots.txt)
facebookexternalhit, Twitterbot, Slackbotas namedLink previews when a URL is shared
curl, Wget, python-requestscurl/8.5.0 etc.Command-line tools and scripts

Frequently asked questions

What is a user agent?

A user agent is a line of text your browser sends with every request in the User-Agent header. It names the browser, its version, the rendering engine and the operating system, so websites can adapt content or log which devices visit them.

Why does every user agent start with Mozilla/5.0?

For historical compatibility. In the 1990s, servers sent better pages to Netscape (code-named Mozilla), so other browsers started claiming to be Mozilla too. Today almost every browser starts with Mozilla/5.0 and adds tokens like AppleWebKit, KHTML, like Gecko and Safari for the same reason.

Why does my user agent say Windows 10 when I use Windows 11?

Browsers froze the Windows version in the user agent at “Windows NT 10.0”, which covers both Windows 10 and 11. Chromium browsers reveal the real version only through Client Hints: a platformVersion of 13 or higher means Windows 11. This tool reads Client Hints automatically.

What is the reduced user agent?

To limit fingerprinting, Chrome now sends fixed values such as Android 10; K for Android devices and Mac OS X 10_15_7 for macOS. The exact OS version and phone model are available only via User-Agent Client Hints, if a site requests them.

Can a user agent be faked?

Yes. Any client can send any user-agent string, and browsers let you change it in developer tools. Use it for statistics and compatibility hints, never for security decisions, and verify important bots such as Googlebot with a reverse DNS lookup.

How do I find user agents in my server logs?

In the common Apache and Nginx combined log format, the user agent is the last quoted field on each line. Copy those values, paste them here one per line and export the parsed result as CSV.

Is my user agent sent to your server?

No. Your user agent is read with JavaScript in your browser and all parsing is done locally with a built-in parser.

Related tools