User-Agent Parser

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand User-Agent Parser

Breaks a browser user-agent string into browser name and version, operating system, rendering engine, and device type.

How it works

A user-agent string is an unstructured header that accumulated compatibility tokens for thirty years, so parsing it is pattern matching in a specific order rather than reading fields. Every Chromium browser contains the substring "Chrome", so Edge must be matched on "Edg/" before Chrome, and Chrome must be matched before Safari because Chrome also carries "Safari/537.36". The version that matters is usually not the first one in the string: Safari reports its real version in "Version/17.0" while "Safari/605.1.15" is the WebKit build. This tool matches locally with regular expressions and sends nothing anywhere.

When to use it

  • Reading raw User-Agent values out of server or CDN access logs to see what is actually hitting an endpoint
  • Reproducing a bug report where the only environment detail you were given is a pasted UA string
  • Sanity-checking analytics that group browsers oddly, usually because a Chromium fork is being counted as Chrome
  • Working out whether a request came from a crawler, a headless browser, or a real client

Watch out for

  • User-agent strings are self-reported and can be changed with one line of code or a DevTools toggle. Never gate security, licensing, or access control on them.
  • Windows 11 still reports "Windows NT 10.0" — Microsoft never incremented the NT version, so Windows 10 and 11 are indistinguishable from the UA alone. macOS has been frozen at "10_15_7" in Safari and Chrome since Big Sur for the same fingerprinting reasons.
  • Chrome and Edge are reducing the UA string on purpose. Minor version digits are being zeroed and platform detail removed, so feature detection or the User-Agent Client Hints API is the durable replacement for parsing.
  • Device type is inferred from tokens like "Mobile" and "iPad", not measured. An iPad in desktop mode reports as a Mac, and a large Android tablet may or may not include "Tablet".

Not the right tool for: Deciding which features to enable. Test for the capability (`if ("share" in navigator)`) rather than inferring it from a browser name — UA sniffing breaks on every browser you did not anticipate.

Frequently Asked Questions

What is my user agent?

Your user agent is the identifying string your browser sends with every request, naming its engine, version and operating system. This tool reads it from navigator.userAgent and shows it broken into parts the moment the page loads, so you can read yours without opening developer tools.

How do I get a browser's user-agent string?

Open DevTools Console (F12) and type navigator.userAgent. Or check incoming request logs on your server under the User-Agent header. Some analytics tools also expose raw UA strings.

Why is Chrome's user-agent so long?

Historically, websites served different content based on browser. Chrome includes "Mozilla/5.0" (old Netscape token), "AppleWebKit" (for WebKit-based sites), "Gecko" (for Gecko-based fallbacks), and "Chrome/X" (its actual version). This compatibility-first approach creates the verbose format.

How do I detect if a user agent is a bot or crawler?

Bot user agents typically include "bot", "crawler", "spider", "slurp", or the service name (Googlebot, Bingbot, AhrefsBot, facebookexternalhit). This tool flags known bot patterns. Legitimate crawlers also have RDNS and publish their IP ranges.

How to Use User-Agent Parser

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.