Skip to content
TabBench

User-Agent Parser

Paste a User-Agent string to see the browser, version, engine, operating system and device. Detects crawlers, AI bots and HTTP clients, and parses many at once.

Runs in your browser. Nothing you add is uploaded.

What the User-Agent Parser does

A User-Agent string is a fossil record of the web: it begins with “Mozilla/5.0” in every browser, names engines the browser only resembles, and is being deliberately frozen by Chrome and Safari to reduce tracking. This parser untangles it. Paste one string to see the browser and version, rendering engine, operating system, processor and device, and whether it belongs to a search crawler, an AI bot or a command-line tool. Paste a whole column from a server log to count what is visiting your site.

How to parse a User-Agent string

  1. Your own browser's User-Agent is filled in to begin with. Replace it with any string you want to check, or choose an example such as Googlebot or Safari on iPhone.
  2. Read the result tiles: browser, engine, operating system, device and processor.
  3. Check the notes underneath for caveats such as a frozen macOS version or a reduced Android device name.
  4. Open “Reading the string, piece by piece” to see why each token is there.
  5. To analyse traffic, switch to “Many at once”, paste up to 500 lines from a log and copy the parsed table as CSV.

The User-Agent Parser runs entirely in your browser — nothing you enter is uploaded, stored, or logged.

When to use it

Identifying bots in your server logs

Googlebot, Bingbot, GPTBot, ClaudeBot and SEO crawlers all identify themselves in the User-Agent. Parse a log column to see how much of your traffic is automated and which operator it comes from.

Debugging a browser-specific bug

When a customer reports a problem, their User-Agent tells you the exact browser, version and operating system, which is usually the first thing you need to reproduce it.

Checking what an HTTP client sends

Libraries such as python-requests, curl, Go's net/http and OkHttp announce themselves. Some APIs block or rate limit those defaults, so it helps to know what you are sending.

Good to know

  • Do not use the User-Agent alone for security decisions. It is trivially forged.
  • To verify Googlebot, reverse-resolve the IP address and check it belongs to googlebot.com or google.com, then resolve forward again.
  • Brave, Arc and other Chromium browsers intentionally send the same string as Chrome.
  • On iPhone and iPad, every browser uses Apple's WebKit engine, so Chrome for iOS reports WebKit.
  • Prefer feature detection in your code over sniffing the User-Agent.

Frequently asked questions

Can I trust a User-Agent to identify a crawler?

Not on its own. Anyone can send a string that says Googlebot. To confirm a crawler is genuine, check the requesting IP against the operator's published ranges or do a reverse DNS lookup.

Why does my Mac show as macOS 10.15.7 and Intel?

Browsers froze that part of the string to reduce fingerprinting, so every Mac reports 10.15.7 and Intel, including Apple Silicon machines on the latest macOS. Client Hints give the real values where supported.

Why do all User-Agents start with Mozilla/5.0?

Early websites sent better pages to Netscape (code-named Mozilla), so every later browser claimed to be Mozilla-compatible. The string kept growing as each new browser named the engines it resembled.

What are User-Agent Client Hints?

A newer, structured way for browsers to share details such as platform, architecture and model, only when a site asks for them. They are more accurate than the string, which is being frozen. Chromium browsers support them; your own values are shown when you parse your own browser.

Why does my Windows 11 PC say Windows NT 10.0?

Windows 10 and 11 both report NT 10.0 in the User-Agent, so the string cannot tell them apart. Client Hints can: the tool uses them to label your own machine correctly when they are available.

Is GPTBot or ClaudeBot a real person?

No. They are automated crawlers run by AI companies. The parser labels them as AI crawlers, and you can allow or block them in robots.txt by their names.