Why User-Agent Strings Are So Easy to Misread
A user-agent string is a pile of compatibility tokens, not a structured record. Every Chromium browser sends a Chrome token, and every WebKit-derived browser sends a Safari token, which is why naive parsers report Edge, Opera, Samsung Internet, Vivaldi and Brave as plain Chrome, and count Chromium traffic as Safari. Order is what makes a parser correct: the fork has to be matched before the engine token it also carries. There are limits that no parser can escape. Windows 11 reports the same NT version as Windows 10, so the two genuinely cannot be told apart, and this tool says so rather than picking one. Crawlers and automation are checked first, because most of them append their own token to an otherwise ordinary browser string and would otherwise be counted as human traffic.
How to Use the User-Agent Parser
- 1Paste the user-agent string from a request log, a browser console, or your own device.
- 2Read the browser line, which names the actual fork rather than the Chromium base it is built on.
- 3Check the bot line to see whether the request came from a search crawler, an AI crawler, a headless browser or an HTTP client.
- 4Use the engine line when what you care about is feature support rather than branding.
- 5Note any caveat the tool adds, such as Windows 10 and 11 being indistinguishable.
Common User-Agent Parsing Use Cases
Work out which browser hit an error
Identify the exact browser and version from a log line before trying to reproduce a bug.
Separate crawler traffic from people
Recognise search engine, AI and SEO crawlers, plus headless browsers and HTTP clients, when analysing request logs.
Check what your own device reports
Paste your browser\u2019s string to see what a server sees, including the compatibility tokens it sends.
Explain a misleading analytics report
Show why Chromium browsers appear as Safari, or why Windows 11 users are counted as Windows 10.
Frequently asked questions
Why does my Chrome string contain Safari?
For historical compatibility. Chrome inherited the AppleWebKit and Safari tokens so that sites which sniffed for WebKit would serve it the modern experience. Every Chromium browser still sends them, which is why parsers that check for Safari first attribute large amounts of Chrome traffic to Safari. The tool adds a note when it sees this combination.
Can it distinguish Windows 10 from Windows 11?
No, and neither can any other parser. Microsoft kept the platform token at Windows NT 10.0 for Windows 11, so the two are identical in the string. Distinguishing them requires the User-Agent Client Hints API, which a server has to request separately. The tool states the limitation rather than guessing.
Can a user-agent string be trusted?
Not for anything that matters. It is a request header the client fully controls, so it can be set to any value, and browsers now deliberately freeze or reduce it to limit fingerprinting. Use it for diagnostics and rough reporting, never for access control or security decisions.
Is the string sent anywhere?
No. Matching runs in the page against patterns packaged with it, so the tool works offline and nothing you paste leaves your browser.