sparksbud

WebXR Browsers

The WebXR browsers that run immersive VR today are Meta Quest Browser, Safari on Apple Vision Pro, Chrome on Android XR headsets such as the Galaxy XR, PICO Browser, Wolvic, and Chrome or Edge on a Windows PC with a VR headset plugged in. Safari on iPhone and iPad isn't a WebXR compatible browser, and neither is Firefox. Every row below was checked on 8 October 2026.

WebXR is the web standard that lets a page draw a 3D scene inside a VR or AR headset, with head tracking and hand or controller input. Immersive VR is documented for Meta Quest Browser, Safari on Apple Vision Pro, PICO Browser, Wolvic and Chrome or Edge with a PC headset, and listed but unconfirmed for Android XR.

What is WebXR

WebXR is a group of web standards that let a browser render a 3D scene into a virtual reality headset, or lay graphics over the real world in augmented reality, and read the head, controller and hand tracking that goes with it. Its core, the WebXR Device API, has been a W3C Candidate Recommendation since 31 March 2022, with the latest draft dated 9 June 2026, so it isn't a final Recommendation yet but every major headset browser ships it.

In practice you meet WebXR as a button. A site shows Enter VR, you press it, the browser asks once whether the page may go immersive, and the page fills your headset. Closing the tab is uninstalling.

WebXR compatible browsers

WebXR support by browser and device, verified 8 October 2026
Browser and deviceImmersive VRHand inputNotesVerified
Meta Quest Browser on Quest 2, 3, 3S and ProYesYes, 25 joints per handChromium-based, also runs immersive AR with passthrough. Version 150.1 shipped 28 August 20268 Oct 2026
Safari on Apple Vision Pro, visionOS 2 and laterYes, on by defaultOptional, behind its own permission promptSelection comes from look and pinch. No immersive AR8 Oct 2026
Chrome on Android XR (Samsung Galaxy XR)WebXR documented, immersive VR mode not independently confirmed hereYes, the default inputAlso immersive AR, hit test and anchors8 Oct 2026
PICO Browser on PICO headsetsYesYesImmersive AR, layers, and body tracking on PICO 4 Ultra8 Oct 2026
Wolvic on Quest, PICO, Lynx R1, Magic Leap 2 and Huawei glassesYesChromium build yes, Gecko build noIn maintenance mode since 26 November 2025, last releases 1 October 20268 Oct 2026
Chrome or Edge on Windows with a PC VR headsetYes, no flag neededYes since Chrome 131, if the headset's runtime supplies handsNeeds an active OpenXR runtime such as SteamVR or Meta Horizon Link8 Oct 2026
Chrome on a MacNoNoChromium doesn't build a headset runtime for macOS8 Oct 2026
Chrome on Android phonesCardboard-style VR only (reported)NoImmersive AR through ARCore on supported phones8 Oct 2026
Safari on iPhone and iPadNoNoNo WebXR in the current iPhone and iPad Safari releases checked on 8 October 20268 Oct 2026
Firefox, desktop and AndroidNoNoOff by default, behind a hidden flag8 Oct 2026

For the headset you're most likely holding, the step-by-step is in WebXR on Meta Quest.

Samsung Internet is left out: on phones caniuse rates it partial, side-by-side VR for Cardboard-style viewers.

The browser path depends on the deviceThis is a route map, not a full compatibility table. The article’s browser matrix gives the version and input details. The browser path depends on the deviceA 360° screen view and immersive VR are different routes.01Phone or MacExplore the world ona screen.02Meta QuestUse Quest Browserfor Enter VR.03Vision ProUse Safari forimmersive WebXR.04Windows PC VRUse Chrome or Edgewith an activeOpenXR runtime.
The browser path depends on the deviceThis is a route map, not a full compatibility table. The article’s browser matrix gives the version and input details.The browser path depends onthe deviceA 360° screen view and immersive VRare different routes.1Phone or MacExplore the world on a screen.2Meta QuestUse Quest Browser for Enter VR.3Vision ProUse Safari for immersive WebXR.4Windows PC VRUse Chrome or Edge with an activeOpenXR runtime.
This is a route map, not a full compatibility table. The article’s browser matrix gives the version and input details.

How to check your own browser

The quickest test is a page that asks your browser directly. Open immersiveweb.dev in the browser you want to check, and its "Does your device support WebXR?" panel lists inline, immersive VR and immersive AR as supported or not, generated live from that browser. The Immersive Web Working Group's samples page does the same and lets you try a real session.

Any WebXR site doubles as a test. On Sparksbud, the ENTER VR button stays greyed out until the world has loaded and the browser has confirmed it can open an immersive VR session. If it stays grey with the hint "Open this site in Meta Quest Browser to enter VR", your browser answered no. Skybloom is a gentle first world for this check, because you stay on one meadow while the scene moves around you. Once that works, the same browser will open the free VR browser games that need nothing installed.

Developers can ask the same thing with navigator.xr.isSessionSupported('immersive-vr'), and Meta's advice is to test that, never the user agent string.

Check the browser you will actually useTest support in the browser on the target device, then wait for the world to load before judging its Enter VR control. Check the browser you will actually useA button is only useful if that browser can open VR.01Open a testUse the targetheadset browser.02Check immersiveVRAsk for immersive-vrsupport.03Load a worldWait until its sceneis ready.04Choose Enter VRUse the button if itbecomes available.
Check the browser you will actually useTest support in the browser on the target device, then wait for the world to load before judging its Enter VR control.Check the browser you willactually useA button is only useful if thatbrowser can open VR.1Open a testUse the target headset browser.2Check immersive VRAsk for immersive-vr support.3Load a worldWait until its scene is ready.4Choose Enter VRUse the button if it becomesavailable.
Test support in the browser on the target device, then wait for the world to load before judging its Enter VR control.

Run the check in the exact browser you plan to use inside the headset. Chrome on a laptop can't tell you what Quest Browser or Vision Pro Safari will do.

WebXR in Chrome

Desktop Chrome on Windows has had WebXR switched on by default since Chrome 79, and Chromium's OpenXR runtime is on by default there too. What it needs is a headset and an active OpenXR runtime. With SteamVR, that's SteamVR. With a Quest over a cable or Air Link, Meta's instruction is to open the Meta Horizon Link app and, next to OpenXR Runtime, select "Set Meta Horizon Link as active". Without a runtime, Chrome reports immersive VR as unsupported and sites show no working Enter VR button.

The flag people find when they search for how to enable WebXR in Chrome is chrome://flags/#webxr-runtime, labelled "Force WebXr Runtime". It forces Chrome to use a particular runtime even when it wouldn't pick it from the attached hardware. It's a troubleshooting override, not an on switch, and setting it to No Runtime turns immersive WebXR off. Linux support depends on the browser build and runtime, and a Chrome flag alone isn't a confirmed setup path here. The checked desktop route is Windows with an active OpenXR runtime. On a Mac there's no runtime to enable.

On Android phones Chrome is an AR browser. It has run immersive AR through ARCore since Chrome 81, on phones that appear on Google's ARCore devices list. Headset VR on a phone would mean a Cardboard-style viewer, which I haven't confirmed as a working route.

Before changing a Chrome flag, check which OpenXR runtime is active. A forced runtime is a troubleshooting choice, not the first step.

WebXR on Apple Vision Pro

WebXR has been on by default in Safari since visionOS 2, which shipped with Safari 18 on 16 September 2024. In visionOS 1.1 it sat behind a feature flag "for testing purposes only", which is where older advice about Safari settings comes from. On visionOS 27.0.1, the current release (28 September 2026), there's nothing to switch on.

Getting in

Open the site in Safari and press its Enter VR button. Safari asks whether the site may launch an immersive experience. If the site also asks for hand tracking, a second prompt asks for that separately. Allow it and the page replaces your surroundings.

Look and pinch

Vision Pro comes without controllers, so its default WebXR selection on visionOS uses an input mode called transient-pointer. Apple also supports optional spatial accessories in compatible apps, and their behaviour in these WebXR scenes hasn't been verified here. Before you pinch, the page sees no input at all. When you pinch, an input appears: its ray starts between your eyes and points at whatever you were looking at when the pinch began, then follows your hand, not your eyes, until you let go. Releasing fires a select event, and the input disappears. The page learns where you looked only at the moment you chose something, which is the privacy point.

Look and pinch on Vision Pro How a WebXR page on Apple Vision Pro receives a look-and-pinch selection as a transient-pointer input, and what the optional hand-tracking permission changes. Look and pinch on Vision Pro The gaze sets the ray at the moment of the pinch. The page never sees where you look otherwise. Exit VR Look at a control, then pinch. 1 Before the pinch The page sees no input at all. inputSources is empty. 2 Pinch starts A transient-pointer input appears. Its ray starts between the eyes and points where you were looking. Events: inputsourceschange, selectstart. 3 While pinching The ray now follows the hand, not the eyes. No new events. 4 Pinch ends Events: select, then selectend. The input is removed again. Optional: hand tracking, a second permission prompt If you allow it, the first two input slots become your hands with joint data for the whole session. They carry pose only and fire no events, and the page must draw the hands itself. Pinches then arrive as inputs three and four. Pages that only watch the first two slots stop selecting. Platform mechanism from Apple and WebKit documentation (visionOS 2 and later). Not a tested Sparksbud session.
Look and pinch on Vision Pro How a WebXR page on Apple Vision Pro receives a look-and-pinch selection as a transient-pointer input, and what the optional hand-tracking permission changes. Look and pinch on Vision Pro The gaze sets the ray when you pinch. Exit VR Look at a control, then pinch. 1 Before the pinch The page sees no input at all. inputSources is empty. 2 Pinch starts A transient-pointer input appears. Its ray starts between the eyes and points where you were looking. Events: inputsourceschange, selectstart. 3 While pinching The ray now follows the hand, not the eyes. No new events. 4 Pinch ends Events: select, then selectend. The input is removed again. Optional hand tracking Allowed: the first two inputs become your hands (pose only, no events) and the page must draw them. Pinches then arrive as inputs three and four, so pages that only watch the first two stop selecting. From Apple and WebKit documentation. Not a tested Sparksbud session.
On Vision Pro the gaze direction sets the ray at the start of a pinch. The page receives a short-lived transient-pointer input and a select event, with hand tracking as a separate, permission-gated option.

What hand tracking adds

A page can request the hand-tracking feature. If you allow it, the first two input slots become your tracked hands, with joint positions for the whole session, and the page is expected to draw your hands itself. Without it, Apple said in 2024, Safari shows your real hands (whether visionOS 27 still does is the one detail here not confirmed). Hand inputs supply pose data only and fire no events. Every select on visionOS still comes from transient-pointer, which then sits in the third and fourth slots. WebKit warns that code listening only to the first two controllers "can't select anything" once hands are on.

Getting out

Press the Digital Crown, or use the gesture that takes you to the Home View. Either ends the session, as does a site's own exit button, such as Sparksbud's Exit VR.

The table compares the two headsets on what matters to a web page. If you're choosing between Meta's own models, the Quest 3S and Quest 3 comparison covers lenses and fit.

Apple Vision Pro and Meta Quest 3: hardware facts and WebXR facts
FeatureApple Vision ProMeta Quest 3
Input modelLook and pinch, as transient-pointerTouch Plus controllers, or hands with pinch to select
Hand trackingOptional permission, pose data onlyBuilt in, 25 joints, pinch acts as a button
Published display rates (hardware, not WebXR session rates)90, 96 and 100 Hz, with 120 Hz on the M5 model in specified system modes72, 80, 90 and 120 Hz
Resolution23 million pixels, micro-OLED2064 x 2208 per eye
Boundary (hardware behaviour, not verified for WebXR)Apple's own apps end full immersion about 1.5 metres from your start pointStationary (1 metre square) or roomscale, drawn by you
Audio (hardware)Dual-driver audio pods. Sparksbud sends plain stereo on any headsetIntegrated stereo speakers and a 3.5 mm jack
Immersive AR in the browserNoYes, with colour passthrough

What Sparksbud handles on Vision Pro

Sparksbud has never been tested on a physical Vision Pro, so this is what its code does, read against Apple's documentation. It requests immersive VR with hand tracking as an optional extra, and it listens for selections on the first two input slots. Without hand tracking, a pinch arrives in those slots, so pinching on a dock button should select it, and between pinches, when no input is connected, the dock falls back to dwell: turn your head toward a button and hold it there for 1.5 seconds and it fires. With hand tracking allowed, the pinch moves to the third and fourth slots, where Sparksbud isn't listening. So if Safari asks to allow hand tracking for sparksbud.com, choose Don't Allow. Sparksbud asks the browser for 72 Hz only when the browser offers that rate. I couldn't find a published figure for the rate WebXR sessions run at on Vision Pro, and it hasn't been measured here.

Frequently asked questions

Does iOS Safari support WebXR?

No. Safari on iPhone and iPad has no WebXR support through iOS 27.2, according to caniuse and MDN, and Apple's Safari 26 and 27 release notes list WebXR changes only for visionOS. A WebXR site still opens on an iPhone, but without an Enter VR or AR session.

How do I enable WebXR in Chrome?

On Windows there's nothing to enable: WebXR is on by default since Chrome 79. Plug in a PC VR headset and make its OpenXR runtime active, for example SteamVR or Meta Horizon Link, and sites will offer Enter VR.

Does Firefox support WebXR?

Not in a way you can use. Firefox on desktop and Android has WebXR off by default, behind a hidden flag, and Mozilla's standards position on hand input and layers is "defer". For a headset, use Meta Quest Browser, Wolvic or PICO Browser instead.

What is WebXR used for?

For VR and AR you open from a link: games, 360 worlds, 3D product viewers, art and training scenes, with no store install. On Android phones it also powers AR that places 3D objects in the camera view.

Can I use a WebXR site without a headset?

Usually, yes. Many WebXR sites also run as an ordinary 3D page you can drag around on a computer or phone. Sparksbud's worlds, for example, work in any current browser with WebGL 2 and only add Enter VR when a headset browser says it can open an immersive session. You can browse every world on a laptop first.

Which browser is best for WebXR on Quest 3?

Meta Quest Browser. It comes installed and supports immersive VR, AR passthrough and hand input. Check the Store for Browser updates. Wolvic also runs WebXR on Quest, but its developer, Igalia, has kept it in maintenance mode since November 2025.