User Agent Parser

Works offlineNothing is uploadedFree, no sign-up
BROWSER—
ENGINE—
OPERATING SYSTEM—
DEVICE—

Parsed in this tab — no string you paste is sent anywhere.

Paste any user-agent string — from a log line, a bug report, an analytics row — and read what it actually says: browser and version, engine, operating system, device class. Or inspect your own browser's with one click. Decoded by ordered rules in your tab, not by a fingerprinting service.

An archaeology of one line

A user-agent string is sediment: every era of the browser wars left a layer, and none could be removed without breaking some server that checked it. The result reads like nonsense — a Windows Chrome claiming to be Mozilla, KHTML, Gecko and Safari at once — until you know which token was deposited when, and then it reads like history.

The parser here applies that history as rules: derivatives before trunks, Version/ for Safari, platform from the parenthesis. The same rules work on a log file's worth of strings — which is what the paste box is for.

Frequently asked questions

Why does every user agent start with Mozilla/5.0?

Thirty years of compatibility theatre. Servers once gated features on 'Mozilla', so every new browser claimed to be it, then claimed to be the next incumbent too — which is why Chrome's string also contains Safari and AppleWebKit. The prefix carries no information at all; the truth hides in the later tokens.

Why must Edge be detected before Chrome?

Because Edge's string contains everything Chrome's does, plus 'Edg/'. Test for Chrome first and every Chromium derivative — Edge, Opera, Samsung Internet, Yandex — reads as Chrome. Ordered rules are the whole craft of UA parsing, and this page's order is visible in its results.

Can a user agent lie?

Freely — it is a self-declaration, one devtools dropdown away from being anything. Worse, modern browsers deliberately freeze parts of it: macOS is pinned at 10.15 in WebKit strings, Windows 11 still says NT 10.0. Read it as a claim, useful for logs and support, never as proof.

What replaced user agents for feature decisions?

Feature detection: ask the browser whether an API exists rather than who it is. UA strings remain right for statistics, debugging a user's report, and serving legal notices to crawlers — the jobs where knowing the family and version genuinely matters.

Related tools