User-Agent Header Parser & Client Detector
HOTParse User-Agent strings to extract browser brand, version, OS, device class, in-app webviews, and crawlers.
Responsive 728x90 / 320x100 Ad Slot
(CLS Prevention Active · Zero Shift)Native In-Feed / High Viewability Ad Slot
(CLS Prevention Active · Zero Shift)User-Agent Architecture, Token Parsing & Client Diagnostics
The User-Agent (UA) request header is an essential HTTP networking string transmitted by web browsers, mobile applications, web scrapers, and automated bots to identify their technical runtime environment to remote web servers. It encodes rich metadata encompassing client application families (Chrome, Safari, Firefox), layout rendering engines (Blink, WebKit, Gecko), host operating systems (Windows, macOS, iOS, Android, Linux), and physical device form factors (Desktop, Mobile, Tablet, Bot).
However, due to decades of defensive compatibility hacks originating from the 1990s Browser Wars, nearly all contemporary browsers still prepend `Mozilla/5.0` to their header strings and simultaneously advertise contradictory tokens like `AppleWebKit`, `Chrome`, and `Safari` in the same sequence. For example, modern Google Chrome on macOS transmits `Safari/537.36` at the tail end of its UA string. A naive substring check like `ua.includes('Safari')` mistakenly identifies Chrome users as Safari users. Robust token prioritization and regular expression parsing are strictly required.
The OrvoKit User-Agent Parser decodes convoluted client strings into clear, normalized data cards. It pinpoints embedded in-app social webviews (KakaoTalk, Instagram, Facebook), flags search indexing crawlers (Googlebot, Bingbot), and provides architectural clarity regarding modern User-Agent Reduction and the emerging Client Hints (`Sec-CH-UA`) ecosystem.
Hierarchical Token Matching & Engine Disambiguation
Deterministic regular expression matching logic designed to bypass legacy compatibility tokens and isolate true browser identities.
Processes proprietary tokens with higher specificity before falling back to generic engine signatures.
👉 Correctly classifies the browser as Microsoft Edge despite the presence of Safari and Chrome compatibility tokens.
- Brand Prioritization Pipeline: Evaluates modern derived forks (Edge, Opera, Vivaldi) before Google Chrome, and Chrome before Safari, preventing false positives from inherited engine tokens.
- Embedded In-App Webview Detection: Pinpoints custom mobile app signatures including `KAKAOTALK`, `Instagram`, `FBAN/FBAV`, and `Line`.
- OS & Kernel Mapping: Decodes `Windows NT 10.0` into Windows 10/11, resolves macOS version strings, and parses Linux distribution markers.
- Bot & Crawler Isolation: Segregates indexing bots (`Googlebot`, `bingbot`, `DuckDuckBot`) from human interactive browser sessions.
Common User-Agent Signatures & Parsed Architecture Reference
| Target Client | Representative User-Agent Pattern | Parsed Browser | Parsed OS | Device Form Factor |
|---|---|---|---|---|
| Chrome (Windows) | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ... Chrome/122.0 ... Safari/537.36 | Chrome | Windows 10/11 | Desktop |
| Safari (macOS) | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 ... Version/17.3 Safari/605.1.15 | Safari | macOS | Desktop |
| Mobile Safari (iPhone) | Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 ... Mobile/15E148 Safari/604.1 | Mobile Safari | iOS | Mobile |
| Chrome (Android) | Mozilla/5.0 (Linux; Android 14; SM-S918N) AppleWebKit/537.36 ... Chrome/122.0 ... Mobile Safari/537.36 | Chrome Mobile | Android 14 | Mobile |
| KakaoTalk (iOS Webview) | ... iPhone OS 17_4 ... Mobile/15E148 KAKAOTALK 10.5.0 | KakaoTalk In-App | iOS | Mobile (WebView) |
| Googlebot (Search Bot) | Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) | Googlebot | Linux (Bot) | Search Bot |
| Bingbot (Search Bot) | Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) | Bingbot | Windows (Bot) | Search Bot |
| Microsoft Edge (macOS) | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ... Chrome/122.0 ... Safari/537.36 Edg/122.0 | Edge | macOS | Desktop |
High-Engagement In-Article Native Ad Slot
(CLS Prevention Active · Zero Shift)How to Use
11. Paste UA String or [Detect My Browser]
Paste a raw User-Agent header from server access logs into the input field, or click [Detect My Browser] to instantly pull your active device configuration.
22. Inspect Deconstructed Diagnostics
Review parsed badges highlighting browser brand, version, host operating system, layout engine, and physical form factor (Desktop, Mobile, Tablet, Bot).
33. Check Webview & Crawler Flags
Examine whether the client represents an in-app social browser (Instagram, KakaoTalk, Facebook) or an automated indexing spider (Googlebot).
44. Export Normalized JSON Metadata
Click [Copy JSON] to export the structured schema for immediate integration into your Express, Django, Spring, or analytics log pipelines.
Real-World Engineering Scenarios for User-Agent Parsing
From breaking out of social webviews to analyzing web server security logs.
Detect embedded social webview tokens to trigger external OS browser launches for restricted file downloads or OAuth logins.
Filter high-frequency server logs to identify malicious spiders posing as genuine user desktop browsers.
Detect iOS vs Android clients on promotional landing pages to route users directly to the Apple App Store or Google Play Store.
Identify users navigating via outdated Internet Explorer or legacy Safari versions and surface polite browser upgrade recommendations.
💡 User-Agent Engineering Pro Tips & Industry Trends
Modern Chrome and Safari releases intentionally freeze and truncate OS and hardware details to prevent cross-site user fingerprinting.
When granular hardware architecture or model numbers are required, request structured `Sec-CH-UA-*` HTTP headers instead of relying on legacy UA parsing.
Modern iPads default to sending desktop Mac Safari UA strings. Combine UA checks with `navigator.maxTouchPoints > 1` to reliably distinguish iPads from Macs.
HTTP headers can be trivial to spoof using cURL or developer proxies. Never authorize administrative access based solely on User-Agent inspection.
⚠️ Common Pitfalls & Mistakes to Avoid
Frequently Asked Questions (FAQ)
Expert answers to the most frequently asked questions and edge cases.
It is a legacy compatibility artifact from the 1990s. When Netscape (codename Mozilla) pioneered modern web features, servers were configured to only serve pages to 'Mozilla' browsers. Competitors like Microsoft added 'Mozilla/5.0 (compatible; ...)' to their headers so servers would deliver identical content, a convention that persists across all modern web browsers today.
Wide Responsive Banner
(CLS Prevention Active · Zero Shift)Related Tools
HTTP Status Code Lookup & REST API Guide
Comprehensive HTTP status code directory with RFC specs, cause diagnostics, and REST API best practices.
Content Security Policy (CSP) & Header Builder
Construct robust Content-Security-Policy and HTTP security headers with ready-to-use Nginx and Next.js configs.
Invisible Character Detector & Instagram Spacer
Detect & strip hidden zero-width characters (ZWSP, NBSP) and copy invisible spacers for Instagram captions.
JSON Formatter & Validator
Format, beautify, validate, and minify JSON data with instant syntax error highlighting and tree view.