Examples
-
Chrome on Windows
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 -
Safari on iPhone
Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1
About User-Agent Parser
A raw User-Agent string reads like keyboard noise - `Mozilla/5.0`, layers of parenthetical platform tokens, and version numbers for rendering engines nobody asked about - because it's an artifact of decades of browsers each claiming compatibility with older ones, not a clean structured format.
Paste a User-Agent string (from a bug report, server log, or your own browser) and get back the actual browser name and version, operating system, rendering engine, and whether it's a mobile or desktop device.
This uses straightforward pattern matching against common, well-known UA strings - real-world browsers, not an exhaustive spec-perfect parser. Unusual or spoofed User-Agents may not match cleanly, which mirrors how imperfect UA sniffing is in general.
FAQ
- Can a User-Agent string be trusted for security decisions?
- No - a User-Agent header is just a string the client sends and can be freely changed by the user or a script. Treat it as a hint for analytics or UX, never as an authentication or authorization signal.
- Why does Safari's UA string also mention 'like Gecko' and other engines?
- Browsers have historically added other engines' names to their UA strings for compatibility with sites that only checked for specific tokens - it's legacy noise, not a sign the browser actually uses multiple engines.