> user-agent | parser | analyzer <
// Decode any User-Agent string into browser, OS, device, engine, and bot signals
Full Stack Detection
Resolves browser name + version, layout engine, operating system, device model, and CPU architecture from a single UA string.
Multi-Line Parsing
Paste many UA strings (one per line) and analyze them in one pass — perfect for log triage and analytics validation.
Bot / Crawler Hints
Flags common search engine crawlers, social previewers, and headless agents so you can spot non-human traffic at a glance.
// ABOUT USER-AGENT STRINGS
How Parsing Works:
Browsers send a User-Agent header on every HTTP request, defined in RFC 7231 section 5.5.3. The string is loosely structured — a chain of product/version tokens with parenthesized comments — so this tool runs ua-parser-js, a regex-based library tuned against thousands of real-world UA strings to extract structured browser, engine, OS, device, and CPU data.
Example:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 -> Browser: Chrome 124, OS: macOS 10.15.7, Engine: Blink
Common Use Cases:
- >Debug client-specific bugs reported in support tickets
- >Verify analytics pipelines correctly classify devices
- >Identify bot traffic in raw access logs
- >Generate cross-browser test matrices
- >Confirm your CDN's UA-based caching rules
>> frequently asked questions
Q: What is a User-Agent string?
A: A User-Agent (UA) is a free-form HTTP header defined in RFC 7231 section 5.5.3 that browsers, apps, and bots use to identify themselves to an origin server. It typically encodes the product name, version, operating system, and rendering engine, in roughly that order, separated by whitespace and parenthesized comments. The format is intentionally permissive, so different vendors structure it differently.
Q: How accurate is UA parsing?
A: ua-parser-js maintains thousands of regex patterns vetted against real-world strings, so it correctly identifies the vast majority of mainstream traffic from Chrome, Safari, Firefox, Edge, and known bots. However, the UA header is trivially spoofable and Chrome's User-Agent Reduction initiative now freezes minor and patch numbers, so modern browsers deliberately report less granular detail than they did a few years ago.
Q: Why is the version field empty for some UAs?
A: Either the UA simply does not advertise a version, which is typical for some bots, embedded HTTP clients, or generic library defaults like 'curl' without a flag, or the parser does not yet have a regex pattern for that product. Modern Chromium also freezes minor and patch numbers as part of User-Agent Reduction, so you may only see the major version of the browser.
Q: Should I rely on the UA for feature detection?
A: No. Use real feature detection (for example `'serviceWorker' in navigator` or `CSS.supports`) or the modern Client Hints API rather than parsing the UA string. UA strings are useful for analytics, support-ticket triage, and bot detection, but they are unreliable for branching application logic because they can be spoofed, frozen by browser policy, or rewritten by privacy extensions.
Q: Is my UA sent anywhere?
A: No. The library runs entirely in your browser using regex matching. Both pasted strings and the auto-detected `navigator.userAgent` value are processed client-side and never uploaded to any server, so the tool is safe to use with proprietary UA strings from internal applications, custom mobile SDKs, or instrumented bot fleets you would prefer not to disclose.