Parse and analyze user agent strings to extract browser, OS, and device information
User Agent Parser
Parse and analyze user agent strings to extract browser, OS, and device information
Paste a User Agent String
Results will appear automatically as you type or paste
Why user agent strings look so strange
The User-Agent header has accumulated decades of compatibility baggage. When Netscape Navigator dominated in the mid-1990s, websites served richer content to browsers that identified themselves as "Mozilla". Other browsers then added "Mozilla/5.0" to their strings to avoid being served degraded content — even though none of them are actually Mozilla. Internet Explorer appended "compatible; MSIE", Chrome includes both "AppleWebKit" and "Chrome", and Safari also includes "AppleWebKit" and "Safari" even when running on non-Apple devices via cross-platform apps. The result is a string that identifies the real browser only through secondary tokens buried after all the compatibility noise.
What the tokens actually mean in a modern Chrome UA
Take Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36: Mozilla/5.0 is a legacy compatibility prefix that all major browsers include; Windows NT 10.0; Win64; x64 identifies the OS, bitness, and architecture; AppleWebKit/537.36 is the rendering engine identifier (frozen at 537.36 in all Chromium-based browsers regardless of actual version); KHTML, like Gecko is another legacy compatibility token; Chrome/124.0.0.0 is the real browser and version; and Safari/537.36 is appended for WebKit-based site compatibility checks. The parser cuts through all of this to surface just the meaningful fields.
