The read-only xr property provided by the Navigator or WorkerNavigator interface returns an XR object which can be used to access the WebXR Device API.


const xr = navigator.xr


The XR object used to interface with the WebXR Device API in the current context. This can be used to present augmented and/or virtual reality imagery to the user.

Usage notes

Each Window has its own instance of Navigator, which can be accessed as Window.navigator or simply as navigator. At the same time, a new XR instance is also created and attached to the navigator instance as navigator.xr. If the xr property exists and is non-null, you can use it to access the WebXR Device API.

To determine if WebXR is available, you can do something like this:

if ("xr" in Window.navigator) {
  /* WebXR can be used! */
} else {
  /* WebXR isn't available */


Specification Status Comment
WebXR Device API
The definition of 'Navigator.xr' in that specification.
Working Draft Initial definition.

Browser compatibility

ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Chrome Full support 79Edge Full support 79Firefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android Full support 79Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android Full support 11.2


Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.

See also