User Agent Parser

Next

A User-Agent is the identification line your browser sends with every request, and it is deliberately messy: Chrome on Android still calls itself “Mozilla/5.0 (Linux; Android 14) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Mobile Safari/537.36” for old compatibility reasons. Paste any UA string here and this parser reads the parts that matter: the browser, the operating system, the device type, and whether the string looks like a known bot or crawler. Leave the box empty and it reads your own browser’s user agent. Detection is a best-effort heuristic and any string can be faked, so treat the result as a strong hint, not proof.

How to parse a user agent

  1. 1

    Paste a UA string

    Copy it from your server logs, the browser dev-tools Network tab or a request header, or leave the box empty to use your own.

  2. 2

    Click Parse

    The tool matches the common tokens in the string on our server.

  3. 3

    Read the summary

    You get the browser, operating system, device type and a bot/crawler flag, with the original string echoed below.

  4. 4

    Copy it

    One click copies the labelled summary to drop into a bug report or ticket.

What the parser reports

Field Example
Browser Chrome
Operating system Windows 10/11
Device type Desktop
Bot / crawler No

It also echoes the original User-Agent string back to you. It reports the browser and the operating-system family by name. It does not read exact version numbers, the rendering engine, or the device brand and model: those are unreliable or missing in modern UA strings. When you need them, use User-Agent Client Hints.

Why User-Agent strings are so messy

The “Mozilla/5.0” at the start of almost every UA dates from the 1990s browser wars, when sites checked for “Mozilla” before serving their modern layout. Every browser copied the token to get through the gate, so today Chrome, Edge, Safari and Firefox all begin the same way and pad the line with product tokens like AppleWebKit, KHTML, like Gecko and Safari that they do not really run on.

From UA strings to Client Hints

Chrome now freezes the version number it prints in the UA string and is moving the detail into User-Agent Client Hints (Sec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform), which a server asks for only when it needs them. Reading the UA string is still fine for a quick check or log triage; reach for Client Hints when you need exact, reliable versions, for example in fraud checks.

Common bot signatures

  • Googlebot/2.1 (+http://www.google.com/bot.html), Google’s search crawler
  • bingbot/2.0, Microsoft Bing’s crawler
  • AhrefsBot/7.0, an SEO crawler
  • facebookexternalhit/1.1, Facebook’s link-preview fetcher
  • Slackbot-LinkExpanding, Slack’s link unfurler

This tool flags a string as a bot when it contains a token like bot, crawler, spider, slurp or bingpreview.

Frequently Asked Questions

No. It reports the browser by name (Chrome, Firefox, Safari, Edge, Opera or Internet Explorer) and the operating-system family, not the version number or the rendering engine. Modern browsers freeze or hide those in the UA string, so request User-Agent Client Hints (Sec-CH-UA-Full-Version-List) when you need the exact version.

Yes. Leave the box empty and click Parse, and it uses the user agent your browser sent with the request. Paste a different string to inspect that one instead.

It is a keyword check: the string is flagged as a bot when it contains a token like bot, crawler, spider, slurp or bingpreview. That catches honest crawlers such as Googlebot and Bingbot, but any client can put anything in its user agent, so it will not catch a scraper that copies a real browser’s string. Never rely on the UA alone for a security decision.

Parsing runs on our server, so this is not an offline, in-browser workflow. The tool uses the string only to build the result and does not save the user-agent text you submit; only anonymous, aggregate usage is recorded.

Related Tools

Tool available in other languages