User-Agent Parser
Decode user-agent strings into browser, engine, operating system, and device type — entirely in your browser.
Processed locally in your browser — nothing is uploaded.
User-Agent Parser
0 characters
About User-Agent Parser
Paste any User-Agent header and see which browser, version, engine, operating system, and device class it claims to be. Common bots and crawlers are detected too. Your own browser's user agent is one click away.
Common uses
- Debug user-agent based feature gating or logging
- Identify which client produced a log line
- Check whether a request came from a known crawler
Limitations
- User-agent strings are self-reported and easily spoofed — treat results as claims, not facts
- Modern browsers freeze parts of the UA string, so OS versions may be inexact
Frequently asked questions
Is the user-agent string I paste collected anywhere?
No. Parsing runs locally in your browser and the string is never transmitted or stored. The "Use mine" button also just reads navigator.userAgent on your own device.
Why does the parser say Windows 10/11 instead of picking one?
Windows 11 reports the same "Windows NT 10.0" token as Windows 10 in the user-agent header, so the two are indistinguishable from the string alone. Telling them apart requires client hints like Sec-CH-UA-Platform-Version, which aren't part of the UA string.
Can this tool tell if a request came from a bot?
It recognizes common crawlers and clients — Googlebot, Bingbot, GPTBot, ClaudeBot, social-media link previewers, curl, wget, Postman, python-requests, and more — plus a generic check for bot, crawler, spider, or scraper keywords. A bot that fakes a normal browser string will still pass as a browser.
Why do all user-agent strings start with Mozilla/5.0?
It's a compatibility relic: early servers sent better pages to Netscape ("Mozilla"), so every later browser claimed the token to avoid being served degraded content. Today the prefix carries no information at all.
Can I rely on user-agent parsing for security decisions?
No. The User-Agent header is self-reported and can be set to any value with one flag (curl -A) or a browser setting, so treat parsed results as a claim for logging and debugging, never as authentication or bot-proofing.