Navigator: userAgent property
{{ApiRef("HTML DOM")}}
The Navigator.userAgent read-only property of the {{domxref("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 {{HTTPHeader("User-Agent")}} HTTP header. Parts of this information are also available in {{Glossary("HTTP")}} headers such as User-Agent client hints and other related API features such as {{domxref("Navigator.appVersion")}} and {{domxref("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
{{Specifications}}
Browser compatibility
{{Compat}}
See also
{{httpheader("User-Agent")}}HTTP header