Navigator: userAgent property
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The Navigator.userAgent read-only property of the Navigator interface returns the User-Agent (UA) string for the current browser.
Value
A string.
Description
The userAgent property provides the current browser's UA string. The UA string is built on a formal structure, which can be decomposed into several pieces of information.
The browser also provides the UA string via the User-Agent HTTP header. Parts of this information are also available in HTTP headers such as User-Agent client hints and other related API features such as Navigator.appVersion and Navigator.platform.
Theoretically this information is useful for detecting the browser and serving code to work around browser-specific bugs or lack of feature support. However, this is unreliable and is not recommended for the reasons given in User-Agent reduction and Browser detection using the user agent.
Feature detection is a much more reliable strategy.
Examples
console.log(navigator.userAgent);
// On Chrome on macOS, logs something like "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36" (reduced UA string)
// On Firefox on Windows, logs something like "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0"
Specifications
| Specification |
|---|
| HTML> # dom-navigator-useragent-dev> |
Browser compatibility
Loading…
See also
User-AgentHTTP header