Answer: your user agent is a single line your browser attaches to every request — it looks like Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 ...) Version/17.5 Safari/604.1. Parsed, that string means: Safari 17.5, WebKit engine, iOS 17.5, iPhone, mobile. A Windows Chrome UA (Mozilla/5.0 (Windows NT 10.0; Win64; x64) ... Chrome/126.0.0.0 Safari/537.36) means Chrome 126, Blink engine, Windows 10, desktop. Yours is shown below, parsed live — nothing leaves your browser.

Your Live User Agent

Detecting…

Parse Any User Agent String

Advertisement

What Each Token in a UA String Means

TokenAppears inWhat it actually tells you
Mozilla/5.0Nearly everythingNothing, anymore — a 1990s compatibility flag every browser kept
(Windows NT 10.0; Win64; x64)Windows browsersWindows 10 or 11 (both report NT 10.0), 64-bit
Macintosh; Intel Mac OS X 10_15Safari, Firefox on MacmacOS — version frozen at 10.15 in Safari's UA regardless of real version
iPhone; CPU iPhone OS 17_5iPhone browsersiOS 17.5 on an iPhone; iPad reports like desktop Safari since iPadOS 13
Linux; Android 14; Pixel 8Android ChromeAndroid 14 on a Pixel 8, mobile build
AppleWebKit/537.36 (KHTML, like Gecko)Chrome, Edge, SafariShared rendering heritage — KHTML begat WebKit begat Blink
Chrome/126.0.0.0Chromium browsersChrome 126 — also present in Edge, Opera, and Brave UAs
Edg/126.0.0.0Edge onlyThe real Edge marker; read right to left to beat Chromium camouflage
Firefox/127.0Firefox onlyThe only place Firefox appears — and the engine token is Gecko
Version/17.5 Safari/604.1Safari onlySafari 17.5; the trailing 604.1 is a frozen WebKit build number
compatible; Googlebot/2.1CrawlersA bot that announces itself, with a documentation URL

The order matters less than you'd think: the reliable rule is that the last browser token in the string is the real browser. First tokens survive for legacy compatibility; trailing tokens were added by the actual vendor.

Worked Examples (Parsed With This Tool)

User agent (abbreviated)BrowserOS / DeviceEngine
…Windows NT 10.0…Chrome/126.0.0.0 Safari/537.36Chrome 126Windows 10, desktopBlink
…Windows NT 10.0…Chrome/126.0.0.0…Edg/126.0.0.0Microsoft Edge 126Windows 10, desktopBlink
…Mac OS X 10.15; rv:127.0) Gecko/20100101 Firefox/127.0Firefox 127macOS, desktopGecko
…iPhone; CPU iPhone OS 17_5…Version/17.5 Mobile/15E148 Safari/604.1Safari 17.5iOS 17.5, iPhone, mobileWebKit
…Linux; Android 14; Pixel 8…Chrome/126.0.6478.122 Mobile…Chrome 126Android 14, mobileBlink
…(compatible; Googlebot/2.1; +http://www.google.com/bot.html)Googlebot 2.1Bot (Google)

Parsing is done with bowser 2.11.0 (MIT license), loaded from jsDelivr and executed client-side. Your UA string never touches a server — right-click this page, view source, and check: there's no form POST anywhere.

How the User Agent Parser Works

Every HTTP request your browser makes carries a User-Agent header: one long, oddly-punctuated string that grew by accretion since 1993. Sites read it to pick mobile layouts, warn about unsupported browsers, block misbehaving crawlers, or — less nobly — fingerprint you. This tool parses it both directions: it shows and decodes your own string, and it accepts any pasted string so you can test bot filters, debug analytics, or settle an argument about what Edge's UA really says.

What you get back

Browser name and version, rendering engine (Blink, WebKit, or Gecko), operating system and version, platform type (desktop, mobile, or tablet), and device vendor and model when the UA includes one. Bot UAs are flagged as bots. Strings that aren't browsers at all — curl/8.5.0, custom app agents — return empty fields, which is honest: a UA parser can only report what the string announces.

How to use it

Hit a sample chip to load a known UA, or paste your own from devtools (Network tab → any request → Request Headers → user-agent). The parse updates as you type. Copy buttons grab either the raw string or individual fields.

A worked example

Take the iPhone Safari string above. The parser reads Version/17.5 and Safari/604.1 as Safari 17.5, the parenthetical CPU iPhone OS 17_5 as iOS 17.5, and the Mobile/15E148 token as mobile. Platform resolves to vendor Apple, model iPhone. Now the Android string: Linux; Android 14; Pixel 8 gives Android 14 with device model Pixel 8, browser Chrome 126 on Blink, platform mobile. Same five fields, completely different devices — from one header line each.

Frequently Asked Questions

What is my user agent?

Your user agent is the string your browser sends with every request, announcing its name, version, operating system, and device. This page shows yours at the top, parsed into browser, engine, OS, and device type. Nothing is sent anywhere — the parsing happens locally in your browser.

Why do Chrome, Edge, and Opera all say Chrome in the UA string?

Chromium-based browsers append their own token after the Chrome one. Edge ends with Edg/126.0.0.0 and Opera with OPR/, so a parser reads the string right to left: the last meaningful token identifies the actual browser. Left-to-right reading is how sites miscount Edge users as Chrome.

How do I detect a bot from a user agent?

Most bots self-identify. Googlebot sends "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)", and Bingbot, GPTBot, and ClaudeBot follow the same compatible; Name/version; +URL pattern. A parser like bowser returns platform.type "bot" for these. Honest bots are easy; spoofed ones require behavioral checks, not UA sniffing.

Can I change or spoof my user agent?

Yes. Every major browser has devtools device emulation that overrides the UA, and extensions can set an arbitrary string. That's why user agent stats are approximate: some traffic lies. Sites that gate content on UA sniffing break the moment a browser updates its string, which is one reason UA client hints now exist.

Why does my Safari UA mention Chrome?

It doesn't — but it does mention "Mozilla/5.0" and "Gecko" because Safari keeps historical tokens that once meant "Mozilla-compatible" and "Gecko-engine-compatible". Nearly every browser starts with Mozilla/5.0 for the same legacy-compatibility reason. The tokens that matter for Safari are Version/x and Safari/x at the end.

Is parsing user agents still reliable in 2026?

For coarse facts — browser family, OS, mobile vs desktop — yes, and it remains the only method that works without JavaScript or client cooperation. For exact versions it's getting weaker: Firefox and Chrome have both frozen or reduced UA strings, and Google's User-Agent Client Hints now serve precise versions only on request via Sec-CH-UA headers. Treat parsed versions as good approximations.

Advertisement