User Agent Parser
Parse and analyze user agent strings to identify browser, OS, and device.
Examples
Chrome on Windows
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/126.0.0.0 Safari/537.36{
"browser": "Google Chrome",
"os": "Windows",
"device": "Desktop",
"engine": "Blink"
}The Chrome and Win markers select Chrome, Blink, Windows, and the default Desktop device class.
Safari on iPhone
Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 Version/17.5 Mobile/15E148 Safari/604.1{
"browser": "Apple Safari",
"os": "iOS",
"device": "Mobile",
"engine": "WebKit"
}The parser first recognizes iOS from like Mac, then refines the device to Mobile because the string contains Mobile.
Firefox on Linux
Mozilla/5.0 (X11; Linux x86_64; rv:127.0) Gecko/20100101 Firefox/127.0{
"browser": "Mozilla Firefox",
"os": "Linux",
"device": "Desktop",
"engine": "Gecko"
}Firefox takes the first browser branch, while Linux sets the operating system and no mobile marker changes the default device.
About this tool
The User Agent Parser applies a lightweight set of substring checks to identify a browser family, operating system, device class, and rendering engine. It recognizes Firefox, Samsung Internet, Opera, Internet Explorer, legacy Edge, Chromium Edge, Chrome, and Safari, then reports one of Windows, MacOS, Linux, Android, or iOS when the corresponding marker is present.
On first load, the tool fills the input with the current browser's navigator.userAgent value and parses it automatically. You can replace that value with any user-agent string and click Parse to inspect the four classifications together with their JSON representation. Parsing runs entirely in the browser and does not send the string anywhere.
This is intentionally a simple classifier rather than a complete user-agent database. It reports browser and engine families without version numbers, uses ordered substring matching, and returns Unknown when it does not recognize a browser or operating-system marker.
How to use
Review the detected user agent
Open the page to parse the current browser's navigator.userAgent value automatically.
Enter another string
Replace the input with the user-agent string you want to inspect.
Run the parser
Click Parse to classify the browser, operating system, device type, and rendering engine.
Inspect the raw result
Read the four summary cards or use the formatted JSON in Raw Data when you need the complete result together.
Use cases
Triage a browser-specific bug report
Paste the user-agent string attached to a support ticket to quickly identify its browser family, engine, operating system, and broad device class.
Check analytics samples
Classify a few raw user-agent values when validating whether an analytics export contains the clients you expect.
Inspect automation traffic
Test user-agent strings emitted by browser automation or HTTP clients and see which fields this lightweight classifier can recognize.
Demonstrate user-agent detection
Use the automatic current-browser result to explain how substring-based client detection works and where it can be ambiguous.
Common mistakes
Mistake:Treating the result as authoritative device detection.
Fix:Use it as a quick heuristic only. User-agent strings can be reduced, changed, or spoofed, and the parser recognizes a limited set of markers.
Mistake:Expecting browser or operating-system versions in the result.
Fix:The component reports families only. Read the original string or use a version-aware parser when exact versions matter.
Mistake:Assuming every Chromium-based browser will be named correctly.
Fix:Check the raw string and the parser's ordered branches. Unrecognized Chromium derivatives may be reported as Chrome when they contain the Chrome marker.
Mistake:Editing the input and expecting the cards to update immediately.
Fix:Click Parse after changing the string; only the initial navigator.userAgent value is parsed automatically on mount.
Frequently asked questions
References & standards
Related tools
Bandwidth Calculator
Estimate how long a file takes to transfer at a given connection speed — correctly handling bits vs bytes (Mbps vs MB/s) and SI vs binary size units
cURL to Code Converter
Convert cURL commands to code snippets in multiple languages. Parse cURL and generate JavaScript, Python, PHP, and more.
DNS Lookup Tool
Query DNS records and resolve domain names to IP addresses
Email Header Analyzer
Parse email message headers to trace routing and authentication
HTTP Header Builder
Assemble HTTP request headers from a form and export them as a raw request block, a curl command, or a JavaScript fetch() call
HTTP Header Parser
Paste raw HTTP request or response headers and get a clean, structured breakdown with explanations for common headers like Cache-Control, CORS and security headers.