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

js
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

See also