🕵️ User-Agent Parser

Paste a User-Agent string to break it down into browser, version, engine, operating system and device type. Detection uses common pattern matching and may not cover every unusual UA string.

How the string is matched

Six browser patterns are tried in a fixed order and the first hit wins, which is the only way to get a straight answer out of a header where nearly everyone claims to be everyone else:

Edg/    -> Edge      checked first: its UA also says Chrome
OPR/    -> Opera     same reason
Chrome/ -> Chrome
Firefox/ -> Firefox
Version/...Safari -> Safari
MSIE or rv: -> Internet Explorer

The engine row follows the same logic: AppleWebKit plus Chrome or Edg means Blink, AppleWebKit alone means WebKit, and Gecko/ followed by digits means Gecko - the bare "like Gecko" that every Chrome UA carries is deliberately not enough to match. The OS and device rows are separate token tests, so a string with no recognised token simply reports Unknown rather than guessing.

Read the result with suspicion

The header is whatever the client chooses to send. Use it for analytics and bug reports, never for access control or licensing - a one-line curl flag defeats it.

Frequently asked questions

Why does Chrome's User-Agent mention Mozilla and Safari?

Historical compatibility. Every browser inherited the tokens of the ones before it so that servers sniffing for Netscape or Safari would not serve a crippled page, and removing them now would break sites that still check.

Why is the browser version always something.0.0.0?

Chrome and Edge reduced their User-Agent to the major version only, zeroing the rest, to cut down on fingerprinting. The exact build is available through the User-Agent Client Hints API instead.

Can I trust the operating system it reports?

Only as a hint. The value is self-declared, browsers freeze or trim it on purpose, and privacy extensions rewrite it, so treat a UA breakdown as evidence rather than proof.