User Agent Parser

Paste any User-Agent string and get the parsed browser, version, operating system, device type, and rendering engine. Useful for debugging analytics data, validating server-side device detection, or checking what a UA from your server logs actually represents. Auto-fills with your own browser's UA so you can see your starting point.

Browser
Version
Engine
OS
Device
Type

Try an Example

How to Use This Tool

  1. Paste a UA string into the input — your own UA is pre-filled as a starting point. Click in and replace it with any UA from logs, analytics, or HTTP request headers.
  2. Click Parse to extract the browser, version, OS, device type, and rendering engine.
  3. Review the parsed fields — each field shows what the regex matched. Unknown fields appear as Unknown when no pattern matches.
  4. Try the examples to see how Chrome on Windows, Safari on iPhone, and Googlebot get parsed. Useful for sanity-checking analytics segmentation.

About User-Agent Strings

Every HTTP request carries a User-Agent header that identifies the client making the request. Browsers send a string like Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36; HTTP libraries send their own (curl/8.4.0, python-requests/2.32.3, node-fetch/3.3.2); bots and crawlers identify themselves (Googlebot/2.1, bingbot/2.0). Servers, analytics platforms, and CDNs all parse this string to categorize traffic and serve appropriate content.

The format is the most chaotic widely-deployed standard on the web. Every major browser starts with Mozilla/5.0 for compatibility reasons that originate in the late-90s browser wars — back when sites checked for 'Mozilla' to decide whether to serve modern HTML. Chrome includes 'Safari' in its UA because some sites only served WebKit-optimized content to Safari. Edge includes 'Chrome' because some sites only served modern features to Chrome. Robust parsing requires checking specific browser identifiers first (Edg, OPR, SamsungBrowser, Brave) before falling back to the generic Chrome match.

The future is moving toward User-Agent Client Hints (UA-CH), where browsers send structured Sec-CH-UA-* headers instead of one giant string. Chrome and Edge have started freezing the legacy UA string at fixed major versions, but the header isn't going away — analytics libraries, CDN edge logic, and security tools still rely on it. Expect to need both legacy UA parsing and Client Hints support for the foreseeable future.

Frequently Asked Questions

What is a User-Agent string?
A User-Agent (UA) is the identification string a browser, app, or HTTP client sends in the User-Agent request header. It's the server's main hint about who's making the request — what browser and version, what operating system, what device class. The format is loose and historical: every browser pretends to be Mozilla/5.0 for compatibility reasons dating back to the 90s, then appends its real identity afterwards. UA strings are notoriously inconsistent across vendors, which is why parsing them requires regex patterns rather than a clean format spec.
Why is User-Agent parsing so messy?
Browser vendors have spent decades adding compatibility lies to their UA strings — Chrome includes 'Safari' to be served WebKit content, Edge identifies as 'Chrome' to be served Chrome content, Opera identifies as both. The string Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 contains five different browser identifiers; only one is true. Robust parsing needs ordered checks: first look for the most specific (Edg, OPR, SamsungBrowser, Brave), then fall back to generic Chrome, Firefox, Safari. This tool follows that order and matches what ua-parser-js and the major analytics libraries do.
Is User-Agent reliable for feature detection or device targeting?
No — feature detection (checking if a JavaScript API or CSS property exists) is always more reliable than UA sniffing for deciding what code to run. UA sniffing is appropriate for analytics (categorizing where traffic comes from), debugging (reproducing a user's environment), bot detection (in combination with other signals), and applying narrow workarounds for known browser bugs. For everything else, prefer feature detection — UAs lie, get spoofed, get frozen by privacy features, and change with every browser release.
What is the new Client Hints (UA-CH) standard?
User-Agent Client Hints is a newer protocol where browsers send specific structured headers (Sec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform, etc.) instead of one giant UA string. Chrome and Edge are gradually freezing their UA string (returning a generic value) while encouraging servers to migrate to Client Hints for the real details. As of 2026 the legacy User-Agent header is still sent and parseable, but expect it to become less informative over time. The navigator.userAgentData API exposes Client Hints in the browser.
Does this tool send my User-Agent to any server?
No. Parsing runs entirely in your browser via regex. The page also auto-fills with navigator.userAgent so you can see your own UA without typing it — that value never leaves the page either. The tool works fully offline once loaded. Safe to paste UAs from sensitive server logs without worrying about exfiltration.