User-Agent String Parser & Inspector
Decode browser versions, operating systems, hardware architecture, layout engines, and AI bot crawlers from HTTP User-Agent strings.
Input User-Agent String
Inspector Breakdown
Unknown vUnknown
Unknown Unknown • Unknown (Unknown)
Unknown
Unknown Unknown
Unknown
Unknown
Anatomy of an HTTP User-Agent: Historical Context & Segment Breakdown
An HTTP User-Agent (UA) string is a foundational header defined in RFC 9110 (and historically RFC 2616). When your browser requests web documents, stylesheets, or API endpoints, it attaches this metadata payload to describe its software version, rendering engine, operating platform, and architecture.
The "Mozilla/5.0" Artifact
Originating from the early browser wars between Netscape Navigator and Internet Explorer, modern browsers still broadcast Mozilla/5.0 to prevent legacy web servers from serving degraded fallback layouts.
Platform & Architecture
Contained inside parentheses, this token reveals the host OS kernel (Windows NT, Mac OS X, Linux x86_64, or Android) and underlying processor instruction set.
Engine & Brand Clones
Because modern Google Chrome, Microsoft Edge, Opera, and Brave all run on Chromium, they broadcast AppleWebKit/537.36 and Safari/537.36 alongside their distinct application flags.
The Shift to Client Hints (UA-CH) & User-Agent Reduction
To curb passive browser fingerprinting and protect user privacy, Google Chromium, Mozilla Firefox, and Apple WebKit initiated User-Agent Reduction (User-Agent Freezing). Under this standard, default User-Agent strings provide static, generalized version numbers while delegating granular inspections to User-Agent Client Hints (UA-CH).
| Feature Dimension | Legacy User-Agent Header | User-Agent Client Hints (Sec-CH-UA) |
|---|---|---|
| Transmission Mode | Broadcasted passively on every HTTP request | Sent on-demand via server header opt-in (Accept-CH) |
| Entropy & Fingerprinting | High entropy (reveals OS patch, exact build) | Low default entropy (brands + major version only) |
| Format & Structure | Unstructured custom string requiring Regex parsers | Structured HTTP field headers (Structured Fields RFC 8941) |
| JavaScript API Access | navigator.userAgent | navigator.userAgentData.getHighEntropyValues() |
Top Search Spiders, AI Harvesters & Social Link Crawlers
Server logs and firewalls (such as Cloudflare, AWS WAF, and NGINX) inspect incoming User-Agents to apply rate limiting, prevent scrapers, or grant access to search indexing spiders.
| Bot / Spider Name | Operator | Primary Purpose | Key User-Agent Identifier |
|---|---|---|---|
| Googlebot | Google LLC | Search Engine Indexing | Googlebot/2.1 |
| GPTBot | OpenAI | AI LLM Model Training & RAG | GPTBot/1.2 |
| ClaudeBot | Anthropic | Claude Model Training & Ingestion | ClaudeBot/1.0 |
| PerplexityBot | Perplexity AI | Live Search & Conversational Index | PerplexityBot/1.0 |
| Bingbot | Microsoft | Bing & Copilot Indexing | bingbot/2.0 |
| facebookexternalhit | Meta | Facebook/Instagram Link Previews | facebookexternalhit/1.1 |
Developer Best Practices: Detection vs Progressive Enhancement
When building resilient web applications, modern architectural best practices recommend moving away from brittle User-Agent string sniffing in favor of progressive feature testing:
Recommended: Feature & Media Queries
- Use CSS
@media (hover: hover)to detect mouse vs touch devices. - Use
CSS.supports()or modern JS feature checks before calling cutting-edge Web APIs. - Leverage Container Queries (
@container) for fluid UI component scaling.
When to Use User-Agent Parsing
- Server-side analytics and real-time dashboard telemetry.
- Blocking malicious scrapers or automated vulnerability probes.
- Serving native app download smart banners (iOS App Store vs Google Play).
Frequently Asked Questions (FAQ)
What is an HTTP User-Agent string?
An HTTP User-Agent string is a request header broadcast by web browsers, spiders, and mobile applications to web servers. It identifies the client's rendering engine, browser build version, operating system, device family, and compatibility tokens so servers can deliver device-tailored content.
Why do almost all modern User-Agent strings begin with Mozilla/5.0?
This is a legacy compatibility artifact from the 1990s browser wars. Early web servers restricted advanced features exclusively to Netscape Navigator (codenamed Mozilla). Competitors like Internet Explorer, and later WebKit, Chrome, and Safari, began prepending Mozilla/5.0 to their strings to ensure servers didn't downgrade their web experiences.
What is the difference between User-Agent Strings and Client Hints (Sec-CH-UA)?
Traditional User-Agent strings broadcast full system metadata indiscriminately with every HTTP request. User-Agent Client Hints (UA-CH) represent a modern privacy-preserving standard where browsers send minimal brand tokens by default and only expose granular details (such as OS build or device model) when the server explicitly requests them via Sec-CH-UA headers.
How does User-Agent parsing detect AI crawlers and bots like GPTBot and ClaudeBot?
Web crawlers and automated LLM harvesters embed distinct identification tokens and URLs in their User-Agent headers (e.g., 'GPTBot/1.2; +https://openai.com/gptbot'). Our parser matches these tokens against recognized crawler signatures to categorize bot activity instantly.
Is User-Agent sniffing reliable for responsive web design?
No. Relying solely on User-Agent sniffing for responsive layouts is an anti-pattern because UA strings can be spoofed or frozen. Best practices dictate using CSS Media Queries, Container Queries, and progressive Feature Detection (CSS @supports or modern JS APIs) for layout adaptability.
Does this User-Agent parser transmit my data to an external server?
No. The parser executes 100% locally within your client browser thread using fast JavaScript regular expression matching and tokenization. Zero network requests or header telemetry logs are generated.
Related & Complementary Utilities
Explore more privacy-first client-side web tools.
URL Encoder / Decoder & URI Sanitizer
Encode special characters into percent-encoded URI strings or decode encoded URLs back to human-readable paths in real time. 100% client-side web utility.
Regex Tester, Explainer & Cheat Sheet
Test, debug, and explain regular expressions in real-time with native JavaScript RegExp engine, flag toggles, match highlighting, group captures, and a comprehensive syntax cheat sheet — 100% client-side.
Diff Checker & Text Comparison Tool
Compare text differences with precision — line-by-line or character-by-character. Split and unified views with real-time performance metrics.