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


const xr = navigator.xr


The XRSystem 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 as navigator. At the same time, a new XRSystem instance is also created and attached to the navigator instance as navigator.xr. If the xr property exists, 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

BCD tables only load in the browser

See also