User Agent Parser
Inspect a user-agent string to identify browser, operating system and related client details for troubleshooting and testing.
Your result will appear here.
User Agent Parser online
Break a user-agent string into its browser, engine, operating system and device claims — and see your own browser's string dissected the same way.
How to use this tool
- Paste any user-agent string, or start from the one your browser presents, shown on the page.
- Click Run Tool. The string is matched against known browser, engine and OS patterns.
- Read the parsed components — remembering the string is a claim, not a measurement.
Common uses
Debugging "works in Chrome, breaks in Safari" reports by confirming what a user's string actually says, checking analytics and log entries, testing bot and crawler strings, and understanding what your own browser announces to every site.
How it works
A user-agent string is a line of text the browser (or bot) sends with every request, accreted over thirty years of compatibility hacks — which is why a modern Chrome string contains "Mozilla", "AppleWebKit" and "Safari" as historical tokens. The parser pattern-matches the meaningful markers in order: browser and version, rendering engine, OS and version, and device hints. Order matters, because nearly every browser claims to be several others.
Worked example
The string Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0 Safari/537.36 parses as Chrome 126 on Windows 10/11 (NT 10.0 covers both) with the Blink engine — the "like Gecko" and "Safari" tokens are legacy courtesies, not identity. Change Chrome/126.0 to Edg/126.0 appended at the end and the same skeleton becomes Edge: the parser must check Edge before Chrome, since Edge's string contains Chrome's.
Privacy and browser processing
Parsing runs in your browser with JavaScript — the strings you paste are never uploaded.
Frequently asked questions
Can a user agent be trusted?
As a statement of what the client claims, yes; as truth, no. Any client can send any string — scrapers routinely impersonate Chrome. Use it for compatibility and analytics, never for security decisions.
Why does every browser say Mozilla/5.0?
History: Netscape's Mozilla token became the de-facto "modern browser" marker in the 1990s, servers sniffed for it, so every competitor claimed it. The prefix is now a permanent fossil at the front of nearly all browser strings.
Why does it not detect my exact phone model?
Android strings sometimes carry a model token, but iOS strings never do, and browsers are actively reducing what the string reveals (frozen versions, generic device tokens). Client Hints headers now carry the detail the string is dropping.
What is the difference between the UA string and Client Hints?
Client Hints (Sec-CH-UA and friends) are structured headers a browser sends — by default only low-entropy ones, with high-entropy details (full version, model) available on request. They are the sanctioned replacement for parsing the string, which this tool still serves for logs and legacy data.
Is my user agent uploaded?
Parsing runs in your browser; the string you paste never leaves the page. Your own string is read locally from your browser, not fetched.