User Agent Parser
Parse a User-Agent string into browser, engine, OS, device, and CPU. Detects 20+ bots including GPTBot, ClaudeBot, PerplexityBot.
Paste a User-Agent string above.
Parsing runs entirely locally. Regex-based — same approach as ua-parser-js, with simpler rules and recent bot signatures (GPTBot, ClaudeBot, PerplexityBot).
How to use
- By default, your own browser's User-Agent is parsed.
- Click 'Use current' to refresh from
navigator.userAgent, or paste any UA string. - Read the parsed fields. Bots get a special highlight.
About this tool
ShowHide
The User-Agent header is the messy, free-form string browsers send to identify themselves. This parser uses pragmatic regex matching (the same approach as ua-parser-js) to extract the browser name + version, rendering engine, OS + version, device type/vendor/model, and CPU architecture. Auto-fills with your current browser's UA on load. Useful for analytics debugging, bot identification, and understanding what your server logs are seeing.
The string is a fossil record of thirty years of compatibility lies, which is why every parser is regex guesswork rather than a specification. Chrome still announces itself as Mozilla/5.0 and claims to be like Gecko and Safari, none of which is true, because sites once sniffed for those tokens before serving the good version of a page. Every browser inherited the habit, so the header is a list of what a browser wants to be mistaken for, in historical order.
Useful detail is being deliberately removed. Chrome cut the version number in the UA down to its major release and froze the platform string years ago and moved the real values behind Client Hints, Safari has reported a fixed macOS version since Catalina, and both iPadOS and desktop-mode browsers identify as something they are not. A parser reading those strings reports what the browser wants reported, which for OS version in particular is now a constant rather than a fact.
Nothing here is a security boundary, which is the important part. The header is a request field the client fills in, so a bot that wants to look like Chrome simply says so, and feature detection is the only reliable way to know whether something is supported. Blocking on user agent filters out honest crawlers and inconveniences real users on unusual browsers while stopping nobody who cares.
The device model field is the least trustworthy of the lot. Android vendors fill it with anything from a marketing name to an internal codename, iOS never reveals it at all, and desktop browsers leave it empty. An analytics breakdown by device model is a breakdown of what Android manufacturers chose to disclose.
Frequently asked questions
Why are user-agent strings so weird?
Historical compatibility hacks. Every browser pretends to be 'Mozilla/5.0' because old servers gated content on that string. Chrome adds 'Safari' because old WebKit detection used that. The cargo cult never ends.
Will Client Hints (UA-CH) replace this?
Slowly. Chrome is freezing UA contents (User-Agent Reduction) and offering structured Client Hints headers (Sec-CH-UA-*) as the replacement. For now, both coexist. This parser works on the legacy UA string.
How accurate is bot detection?
Reliable for honest bots (Googlebot, Bingbot, GPTBot, ClaudeBot — they identify themselves). Useless against bad-faith bots that spoof a desktop Chrome UA. For those you need behavioral fingerprinting or CAPTCHAs.
Why doesn't it show device model on iOS?
iOS user agents do not include a specific model — they all say 'iPhone' or 'iPad'. At best you can guess from the screen dimensions.
Related tools
robots.txt Tester
Paste a robots.txt and a list of user-agent and path pairs to see exactly which line allows or blocks each — with longest-match precedence.
Network
What Is My Screen Resolution? (Hz and Scaling)
See your screen resolution, physical pixels, scaling (devicePixelRatio), browser window size, refresh rate, colour depth and HDR support at a glance.
Everyday
Permissions-Policy Header Builder
Build the Permissions-Policy header: set camera, microphone, geolocation, payment, fullscreen and 20+ other browser features by origin allowlist.
Network
Email Header Analyzer
Paste a raw email header to walk the Received hops in order, see the per-hop delay, and read off the SPF/DKIM/DMARC verdicts.
Network
DKIM Record Builder & Parser
Build or parse a DKIM DNS TXT record — paste your public key, pick selector, key type, hash and flags, and get the record plus its chunked form.
Network
Sitemap.xml Validator & Inspector
Paste or load a sitemap.xml or sitemap index and see URL count, size, spec compliance, and the changefreq, priority and host distributions.
Network