Advertisement
Guide
About the User-Agent Parser
A user-agent string is the line a browser sends to identify itself. Reading one is harder than it looks, because the format is a pile of historical compatibility claims — almost every browser begins with Mozilla/5.0, Chrome claims to be Safari, and Edge claims to be Chrome.
Paste any UA string to see what it actually says — and what it cannot tell you.
Why every browser claims to be Mozilla
In the 1990s, sites checked for "Mozilla" before serving frames. Browsers that supported frames began claiming to be Mozilla to avoid being served a degraded page, and once one did it the rest had to follow. Thirty years later the claim is still there in essentially every browser, which is why Mozilla/5.0 tells you nothing at all.
Why matching order decides everything
Chrome's UA contains the word "Safari". Edge's contains both "Chrome" and "Safari". Opera's contains all three. The only way to identify them correctly is to test for the most specific token first — Edge before Chrome, Chrome before Safari. A parser that checks in the wrong order reports almost everything as Chrome, which is a very common bug.
What a UA string cannot tell you
Several things are deliberately hidden. macOS has reported 10_15_7 since Catalina regardless of the real version. Windows 10 and Windows 11 both send Windows NT 10.0 and cannot be distinguished. On iOS every browser must use WebKit, so the engine never reflects the browser. Chrome has also been reducing UA detail for years, so precise version numbers are increasingly unreliable.
Do not use this for feature detection
Parsing the UA to decide what a browser supports is the wrong approach, and has been for a long time — strings are spoofed routinely, and the mapping from browser to capability changes with every release. Use feature detection (if ('share' in navigator)) instead. UA parsing is for analytics, logging and crawler handling, where you want to know who called rather than what they can do.
How to use it
- 1Paste a user-agent string, or press “Use my browser”.
- 2Read the browser, engine, OS and device breakdown.
- 3Check the notes for anything the string cannot actually tell you.
- 4Try the samples to see how different clients present themselves.
Frequently asked questions
Why does Chrome say it is Safari?
Chrome includes "AppleWebKit" and "Safari" for compatibility with old sniffing code. A correct parser checks the most specific token first, which is why this tool reports Chrome rather than Safari.
Can I tell Windows 10 from Windows 11?
No. Both report "Windows NT 10.0". The distinction is not in the user-agent string at all — you would need the User-Agent Client Hints API.
Why does macOS always show 10.15.7?
Apple froze the reported version at Catalina to reduce fingerprinting. The real version cannot be recovered from the UA string.
Does this detect bots?
Yes. Common crawlers are recognised — Googlebot, Bingbot, AhrefsBot, GPTBot, ClaudeBot and others — and flagged separately from human traffic.
Is the string sent anywhere?
No. Parsing happens entirely in your browser.
