What is User-Agent Parser?
User-Agent Parser — A User Agent Parser is a free tool that decodes browser user-agent strings to identify the browser name, version, operating system, device type, and rendering engine.
Loading your tools...
Parse any user-agent string to extract browser name and version, operating system, device type, CPU architecture, and rendering engine. Useful for analytics validation, device-specific debugging, and cross-browser QA.
User-Agent Parser: Your current user-agent string is detected automatically. You can also paste any user-agent string to parse it. The tool extracts browser, OS, device, and engine details instantly.
User-Agent Parser — A User Agent Parser is a free tool that decodes browser user-agent strings to identify the browser name, version, operating system, device type, and rendering engine.
Paste a user-agent string or use your current browser value.
Review parsed browser, OS, engine, device, and CPU fields.
Compare parsed values with expected behavior in your app.
Copy data into bug reports or analytics QA notes.
Analytics dimension validation
Customer environment debugging
Mobile vs desktop behavior checks
Cross-browser QA triage
A user-agent string is an HTTP header browsers send with every request, identifying themselves to servers. It contains browser name, version, rendering engine, operating system, and sometimes device info. The format dates to early 1990s and is famously chaotic — modern user-agents include misleading historical tokens because some servers used them to deliver browser-specific content. A 2025 Chrome on Windows might say Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 — name-checking Mozilla, Apple WebKit, KHTML, Gecko, and Safari, even though it's only Chrome.
Each token in a modern UA is a historical artifact:
The result: parsing UA strings reliably requires regex matching against known browser fingerprints. UAParser.js and similar libraries maintain regularly-updated rules to extract real browser/OS info from this historical chaos.
if ('serviceWorker' in navigator) .... UA-based feature flags break when browsers change.--user-agent, browser dev tools, every scraper sends fake UAs. Never authenticate or authorize based on UA.| Bot | User-Agent token | Purpose |
|---|---|---|
| Googlebot | Googlebot/2.1 | Search indexing |
| Bingbot | bingbot/2.0 | Microsoft / Bing search |
| DuckDuckBot | DuckDuckBot/1.1 | DuckDuckGo search |
| Applebot | Applebot/0.1 | Siri / Apple Search |
| FacebookExternalHit | facebookexternalhit/1.1 | Link previews on FB |
| Twitterbot | Twitterbot/1.0 | Link cards on X |
| GPTBot | GPTBot | OpenAI training crawler |
| ClaudeBot | ClaudeBot | Anthropic training |
| PerplexityBot | PerplexityBot | Perplexity AI search |
| CCBot | CCBot/2.0 | Common Crawl (LLM training data) |
| Bytespider | Bytespider | ByteDance / TikTok crawler |
| AhrefsBot | AhrefsBot/7.0 | SEO backlink crawler |
Block AI training bots in robots.txt if you don't want your content used for LLM training: User-agent: GPTBot / Disallow: /.
Google's User-Agent Client Hints (UA-CH) is the modern replacement for parsing UA strings. Instead of a single long UA string, browsers send structured headers: Sec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform, etc. These are explicitly intended to provide accurate browser metadata while reducing fingerprinting surface. Chrome started reducing UA detail in 2023 — the new structured hints are the long-term solution. For server-side parsing, support both the legacy UA string and the new Client Hints. For client-side, prefer feature detection.
Any user can change their browser's user-agent string. Reasons people do it:
Implications: don't rely on UA for security or feature decisions. Use it for analytics / triage only, where some inaccuracy is tolerable.