b2KIT

User Agent Parser

Paste a user agent string and extract browser, OS, device type, and rendering engine details.

Tested tool guide Tested browser tools Checked August 16, 2026

What User Agent Parser does, with a checked example

A user agent string is the line a browser sends in its HTTP User-Agent header, and this tool unpacks it into labeled parts: browser family and version, operating system, device type (desktop, phone, tablet), and rendering engine. Paste the string, read the breakdown. Handy when a server log or analytics report shows a client you do not recognize. Parsing happens in the page; nothing you paste is uploaded. The surprise: the string is half compatibility theater. Browsers embed tokens borrowed from other browsers, freeze their OS version at an old value, and keep the real browser version in a less obvious token. The parse follows the conventions; the string itself misleads.

Worked example

A concrete input and expected output from the current implementation.

Input

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15

Expected output

browser: Safari 17.4
engine: WebKit 605.1.15
os: macOS 10.15.7 (Catalina)
device: Desktop (Mac)

Version/17.4 is the browser version token while Safari/605.1.15 repeats the WebKit build number, so the parse reports Safari 17.4 with engine WebKit 605.1.15. The parenthesized segment gives macOS 10.15.7 (10_15_7 uses underscore separators) on a desktop Mac, and the Mozilla/5.0 and like Gecko tokens are compatibility leftovers that are ignored.

How the result is produced

1

Reading the token layout

A UA string is a product token, a platform segment in parentheses, and product-pair tokens. The parser assigns the browser from the product tokens (Safari, Chrome, Firefox, Edge), the OS from the platform segment (Mac OS X 10_15_7, Windows NT 10.0), and the engine from the AppleWebKit or Gecko token. Mozilla/5.0 and like Gecko are compatibility tokens, ignored rather than reported as a Mozilla browser.

2

Version precedence and fallbacks

Several tokens carry version numbers, and parsers apply precedence. In Safari strings, Version/17.4 holds the browser version while Safari/605.1.15 holds the WebKit build; in Chromium strings the trailing Safari/537.36 token is a stub and must be ignored. When nothing matches, the browser or OS is reported as unknown rather than invented. Platform versions with underscore separators (10_15_7) are normalized to dotted form (10.15.7).

Good uses

  • Reading a web server or CDN access log: a session shows a client you do not recognize, and you paste the raw UA to identify the browser, OS, and device before deciding whether the traffic matters.
  • Triaging a support ticket: a user pastes their browser's UA, and you confirm they are on a supported browser version and OS before reproducing the bug instead of asking them to install debugging tools.
  • Auditing analytics or bot handling: traffic from crawlers or headless browsers shows up under odd labels, and you paste the logged UAs to see what those clients actually claim to be and why the classifier grouped them that way.

Limits and checks

  • [object Object]
  • [object Object]
  • [object Object]

Common questions

Why does this iPhone user agent parse to Safari 604.1 when the phone runs iOS 17?

It should not. The 604.1 in Mobile/15E148 Safari/604.1 is a legacy build number iOS Safari has kept frozen for years; the real browser version is in the Version token, so Version/17.4 parses to Safari 17.4. If your logs show 604.1, that parser is reading the Safari token instead. The OS comes from iPhone OS 17_4 in the platform segment.

Can this tell me whether a visitor is a real person or a bot?

No. The tool identifies what the string claims, and bot traffic often claims to be a browser: headless Chrome sends the same UA as desktop Chrome, and scrapers can copy any string. Some bots label themselves (Googlebot, bingbot) and may be named accordingly, but nothing in a UA proves what is behind it, so treat any bot determination as a hint rather than a verdict.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools