Navigator

The Navigator interface represents the state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities.

A Navigator object can be retrieved using the read-only window.navigator (en-US) property.

Properties

Doesn't inherit any properties, but implements those defined in NavigatorID (en-US), NavigatorLanguage (en-US), NavigatorOnLine (en-US), NavigatorContentUtils, NavigatorStorage (en-US), NavigatorStorageUtils, NavigatorConcurrentHardware (en-US), NavigatorPlugins (en-US), and NavigatorUserMedia.

Standard

Navigator.activeVRDisplays (en-US) Read only This is an experimental API that should not be used in production code.
Returns an array containing every VRDisplay (en-US) object that is currently presenting (VRDisplay.ispresenting (en-US) is true).
NavigatorID.appCodeName (en-US) Read only This is an experimental API that should not be used in production code.
Returns the internal "code" name of the current browser. Do not rely on this property to return the correct value.
NavigatorID.appName (en-US) Read only This is an experimental API that should not be used in production code.
Returns a DOMString (en-US) with the official name of the browser. Do not rely on this property to return the correct value.
NavigatorID.appVersion (en-US) Read only This is an experimental API that should not be used in production code.
Returns the version of the browser as a DOMString (en-US). Do not rely on this property to return the correct value.
Navigator.battery (en-US) Read only
Returns a BatteryManager (en-US) object you can use to get information about the battery charging status.
Navigator.connection (en-US) Read only This is an experimental API that should not be used in production code.
Provides a NetworkInformation (en-US) object containing information about the network connection of a device.
Navigator.cookieEnabled (en-US) Read only
Returns false if setting a cookie will be ignored and true otherwise.
Navigator.geolocation Read only
Returns a Geolocation (en-US) object allowing accessing the location of the device.
NavigatorConcurrentHardware.hardwareConcurrency (en-US) Read only
Returns the number of logical processor cores available.
NavigatorPlugins.javaEnabled (en-US) Read only This is an experimental API that should not be used in production code.
Returns a Boolean (en-US) flag indicating whether the host browser is Java-enabled or not.
Navigator.keyboard (en-US) Read only This is an experimental API that should not be used in production code.
Returns a Keyboard (en-US) object which provides access to functions that retrieve keyboard layout maps and toggle capturing of key presses from the physical keyboard.
NavigatorLanguage.language (en-US) Read only
Returns a DOMString (en-US) representing the preferred language of the user, usually the language of the browser UI. The null value is returned when this is unknown.
NavigatorLanguage.languages (en-US) Read only
Returns an array of DOMString (en-US) representing the languages known to the user, by order of preference.
Navigator.locks (en-US) Read only This is an experimental API that should not be used in production code.
Returns a LockManager (en-US) object which provides methods for requesting a new Lock (en-US) object and querying for an existing Lock (en-US) object
Navigator.mediaCapabilities (en-US) Read only This is an experimental API that should not be used in production code.
Returns a MediaCapabilities (en-US) object that can expose information about the decoding and encoding capabilities for a given format and output capabilities.
Navigator.maxTouchPoints (en-US) Read only
Returns the maximum number of simultaneous touch contact points are supported by the current device.
NavigatorPlugins.mimeTypes (en-US) Read only This is an experimental API that should not be used in production code.
Returns an MimeTypeArray (en-US) listing the MIME types supported by the browser.
NavigatorOnLine.onLine (en-US) Read only
Returns a Boolean (en-US) indicating whether the browser is working online.
Navigator.oscpu (en-US)
Returns a string that represents the current operating system.
Navigator.permissions (en-US) Read only This is an experimental API that should not be used in production code.
Returns a Permissions (en-US) object that can be used to query and update permission status of APIs covered by the Permissions API.
NavigatorID.platform (en-US) Read only This is an experimental API that should not be used in production code.
Returns a string representing the platform of the browser. Do not rely on this function to return a significant value.
NavigatorPlugins.plugins (en-US) Read only This is an experimental API that should not be used in production code.
Returns a PluginArray (en-US) listing the plugins installed in the browser.
NavigatorID.product (en-US) Read only This is an experimental API that should not be used in production code.
Always returns 'Gecko', on any browser. This property is kept only for compatibility purpose.
Navigator.serviceWorker (en-US) Read only
Returns a ServiceWorkerContainer (en-US) object, which provides access to registration, removal, upgrade, and communication with the ServiceWorker (en-US) objects for the associated document.
NavigatorStorage.storage (en-US) Read only
Returns the singleton StorageManager (en-US) object used for managing persistence permissions and estimating available storage on a site-by-site/app-by-app basis.
NavigatorID.userAgent (en-US) Read only
Returns the user agent string for the current browser.
Navigator.webdriver (en-US) Read only   This is an experimental API that should not be used in production code.
Indicates whether the user agent is controlled by automation.

Non-standard

Navigator.buildID (en-US) This API has not been standardized.
Returns the build identifier of the browser. In modern browsers this property now returns a fixed timestamp as a privacy measure, e.g. 20181001000000 in Firefox 64 onwards.
Navigator.credentials (en-US) This API has not been standardized.
Returns the CredentialsContainer (en-US) interface which exposes methods to request credentials and notify the user agent when interesting events occur such as successful sign in or sign out. 
Navigator.deviceMemory (en-US) Read only This API has not been standardized.
Returns the amount of device memory in gigabytes. This value is an approximation given by rounding to the nearest power of 2 and dividing that number by 1024.
Navigator.doNotTrack (en-US) This API has not been standardized.
Reports the value of the user's do-not-track preference. When this value is "yes", your web site or application should not track the user.
Navigator.mediaDevices (en-US)  This API has not been standardized.
Returns a reference to a MediaDevices (en-US) object which can then be used to get information about available media devices (MediaDevices.enumerateDevices() (en-US)), find out what constrainable properties are supported for media on the user's computer and user agent (MediaDevices.getSupportedConstraints() (en-US)), and to request access to media using MediaDevices.getUserMedia() (en-US).
Navigator.mozNotification This is an obsolete API and is no longer guaranteed to work. Deprecated since Gecko 22 This API has not been standardized.
Navigator.webkitNotification  This is an obsolete API and is no longer guaranteed to work.
Returns a notification object you can use to deliver notifications to the user from your web application.
Navigator.mozSocial This API has not been standardized.
The Object, returned by the navigator.mozSocial property, is available within the social media provider's panel to provide functionality it may need.
Navigator.presentation (en-US) This API has not been standardized.
Returns a reference to the Presentation (en-US) API.
Navigator.productSub (en-US) This API has not been standardized.
Returns the build number of the current browser (e.g., "20060909").
Navigator.securitypolicy This API has not been standardized.
Returns an empty string. In Netscape 4.7x, returns "US & CA domestic policy" or "Export policy".
Navigator.standalone This API has not been standardized.
Returns a boolean indicating whether the browser is running in standalone mode. Available on Apple's iOS Safari only.
Navigator.storageQuota Read only This is an experimental API that should not be used in production code.
Returns a StorageQuota (en-US) interface which provides means to query and request storage usage and quota information.
Navigator.vendor (en-US) This API has not been standardized.
Returns the vendor name of the current browser (e.g., "Netscape6").
Navigator.vendorSub (en-US) This API has not been standardized.
Returns the vendor version number (e.g. "6.1").
Navigator.webkitPointer This API has not been standardized.
Returns a PointerLock object for the Mouse Lock API.

Methods

Doesn't inherit any method, but implements those defined in NavigatorID (en-US), NavigatorContentUtils, NavigatorUserMedia, and NavigatorStorageUtils.

Standard

Navigator.canShare() (en-US) This is an experimental API that should not be used in production code.
Returns true if a call to Navigator.share() would succeed.
Navigator.getVRDisplays() (en-US) This is an experimental API that should not be used in production code.
Returns a promise that resolves to an array of VRDisplay (en-US) objects representing any available VR devices connected to the computer.
Navigator.getUserMedia() (en-US) This is an experimental API that should not be used in production code.
After having prompted the user for permission, returns the audio or video stream associated to a camera or microphone on the local computer.
Navigator.registerContentHandler() (en-US) Obsolete since Gecko 59
Allows web sites to register themselves as a possible handler for a given MIME type.
Navigator.registerProtocolHandler() (en-US)
Allows web sites to register themselves as a possible handler for a given protocol.
Navigator.requestMediaKeySystemAccess() (en-US) This is an experimental API that should not be used in production code.
Returns a Promise for a MediaKeySystemAccess object.
Navigator.sendBeacon() This is an experimental API that should not be used in production code.
Used to asynchronously transfer a small amount of data using HTTP (en-US) from the User Agent to a web server.
Navigator.share() (en-US) This is an experimental API that should not be used in production code.
Invokes the native sharing mechanism of the current platform.
NavigatorID.taintEnabled() (en-US) Deprecated since Gecko 1.7.8 Obsolete since Gecko 9.0 This is an experimental API that should not be used in production code.
Returns false. JavaScript taint/untaint functions removed in JavaScript 1.2.
Navigator.vibrate() (en-US)
Causes vibration on devices with support for it. Does nothing if vibration support isn't available.

Non-standard

Firefox OS devices adds more non-standard methods. You can consult them on the Firefox OS Navigator extensions article.

Navigator.mozIsLocallyAvailable() (en-US) This API has not been standardized.
Lets code check to see if the document at a given URI is available without using the network.
Navigator.mozPay() This API has not been standardized.
Allows in-app payment.

Specifications

Specification Status Comment
HTML Living Standard
The definition of 'the Navigator object' in that specification.
Living Standard

Browser compatibility

BCD tables only load in the browser