WebXR Viewer

WebXR Viewer

An AR Project by Mozilla


2.0for iPhone, iPad and more
51 Ratings
64.8 MB
May 29, 2020
Update Date
Age Rating
Age Rating
Apps in this category do not contain restricted content.
Apps in this category may contain mild or occasional cartoon, fantasy or real-life violence, as well as occasional or mild adult, sexually suggestive or horrifying content and may not be suitable for children under 9 years of age.
Apps in this category may contain occasional mild indecent language, frequent or intense cartoon or real-life violence, minor or occasional adult or sexually suggestive material, and simulated gambling, and may be for children under 12 years of age.
You must be at least 17 years old to access this App.
Apps in this category may contain frequent and intense offensive language; Frequent and intense cartoon, fantasy or realistic violence: frequent and intense adult, scary and sexually suggestive subjects: as well as sexual content, nudity, tobacco, alcohol and drugs, may not be suitable for children under 17 years of age.
WebXR Viewer Screenshots
WebXR Viewer posterWebXR Viewer posterWebXR Viewer posterWebXR Viewer posterWebXR Viewer posterWebXR Viewer posterWebXR Viewer poster
WebXR Viewer posterWebXR Viewer posterWebXR Viewer poster

About WebXR Viewer

Mozilla’s WebXR Viewer is an augmented reality (AR) viewer that lets you create and run AR experiences built with web technologies and ARKit.

This is an experimental product, targeted at developers wanting to develop and test web-based AR applications on iOS. It is not an officially supported Mozilla application.

WebXR is a cross-platform Web API for augmented reality (AR) and virtual reality (VR). We have released the WebXR Viewer to give web developers a chance to experiment with web-based AR experiences on iOS using WebXR, and provide a way for us to get feedback for the WebXR community as it continues to develop AR support in the WebXR specification.

The WebXR viewer implements a collection of accepted and proposed WebXR AR API features, and also supports some of the non-standard features we developed for an early version of the WebXR API.

Version 2 of the WebXR Viewer is based on the Firefox for iOS source code, so is a much more full-featured web browser. Some of Firefox's features are working (e.g., account sync), while some features are still in development (e.g., send-to-device). Please report problems or feature requests as issues at https://github.com/mozilla-mobile/webxr-ios-js

To learn more about the WebXR Viewer and other ways Mozilla is working with the web community to bring augmented reality, virtual reality and mixed reality to the web, visit https://mixedreality.mozilla.org/
Show More

What's New in the Latest Version 2.0

Last updated on May 29, 2020
Old Versions
Version 2.0 of the WebXR Viewer is a complete rewrite of the application, based on the Firefox for iOS source code. The application now implements the official WebXR API, including the accepted and proposed features.
Show More
Version History
May 29, 2020
Version 2.0 of the WebXR Viewer is a complete rewrite of the application, based on the Firefox for iOS source code. The application now implements the official WebXR API, including the accepted and proposed features.
Jun 5, 2019
This update is focused on fixing stability issues and bug.

- The XRViewer keeps ARKit running for a short while between XR session, to allow users to switch between 2D and XR pages without incurring complete ARKit startup times each time they enter an XR session. We have seen issues where this causes problems, so we have changed the XRViewer to reset ARKit more often.
- Starting a new session clears out relocalization attempts to prevent immediately getting thrown into "relocalizing" loops
- Allow ARKit to automatically relocalize when returning from the background to prevent objects from disappearing after loading the worldMap
- Fix bug that caused the permissionLevelButton to become inactive after granting and subsequently denying "Device Motion" access on a WebXR site
May 28, 2019
Bug fixes, including
- the page URL should no longer be erased if a page causes an out-of-memory condition
- obscure issue resolved that sometimes caused the Permissions page to have a long delay before appearing

UI change to hide tracking status on non-XR pages, and when the URL Bar is hidden.
May 20, 2019
This version updates the userAgent string to included "WebXRViewer" and the version number. It also fixes a bug that allowed hit testing to return hits against more than the single plane selected in Lite mode.
May 17, 2019
This version has some performance improvements and bug fixes.
Update the splash page to point at the new set of examples.
May 12, 2019
Bug fixes.
May 8, 2019
This version represents a major internal overhaul of the application, in preparation for changes needed to support the official WebXR API when it is finalized. These changes also address some performance issues. While the external behavior has not changed substantially, we have reworked the UI somewhat. The most noticeable change is that starting a WebXR session now requires permission from you before a web page can access the WebXR APIs, offering you an opportunity to provide reduced information about the world as part of the permission request.

Detailed Changes:
- many bug fixes
- removed video and photo capture capabilities, in lieu of the newer iOS built in capabilities
- updated the built-in WebXR API to implement most of the older API functionality (no camera image access yet).
- Image targets can be tracked now (ARKit 2.0 functionality)
- accessing WebXR functionality now asks for user permission, as the official WebXR requires. In particular, entering AR mode now requires permission, as does access information about the world (such as ARKit Planes and Face Meshes), and accessing Camera data (when this is implemented).
- permissions (for basic WebXR and world knowledge give the user the option for an "AR Lite" Mode. When selected, the user is asked to pick a plane, and only that plane is made available to the web page. This allows interesting AR application functionality, without exposing the entire structure of the space to the app. The web page does not know if the user is using "AR Lite" mode.
- permission can be changed while a web app is running in XR mode
- added icon in menu bar to show current permission, and clicking it brings up a permission menu
- most of the application has been rewritten in Swift
Nov 29, 2018
- bug fixes
Nov 21, 2018
- bug fixes, updated for iOS 12 and ARKit 2.0
- cleaned up preferences so in-app and iOS preferences match
- added APIs for using ARKit ARWorldMap
- added option to "always allow world sensing access" for a site. Permissions are revoked by resetting all saved sites.
Jun 12, 2018
Updated wording on "Access to World Sensing" dialog to make it clearer what is being asked.
Jun 8, 2018
This version adds support for additional ARKit 1.5 features using experimental API extensions to WebXR.
- ARKit 1.5 features added: plane geometry, Image Recognition/Image Anchors, and Face Anchors.
- On phones with TrueDepth cameras (iPhoneX), user can switch to front-facing camera to detect and track a face with ARKit Face Anchors
- Expose API to create images for ARKit Image Detection
- Using the Image Recognition and Face Tracking first requires user to give permission for the app to "sense and track world knowledge"
Apr 20, 2018
Updated to support ARKit 1.5
Apr 19, 2018
- ARKit state is more carefully managed, so each load of a page doesn't require the user to scan the room and help ARKit restart. Moving from page to page is more seamless, and reloading pages is faster.
- a new WebXR video camera API is enabled, allowing web apps to do computer vision. The user is always prompted to give permission to any web page before it can access video image data.
- Support for AR-capable web pages that can switch between a 2D page and full screen immersive AR views.
- new permissions UI on first load: explains why we are asking for GPS and camera, before user is asked to select or decline each
- "Swipe up to show URL bar" message only shown once per run of the app
- various bug fixes
Feb 13, 2018
This version contains bug fixes, plus a few changes:
- We have started using Mozilla's telemetry service to collect anonymous usage information (you may opt-out in the app settings)
- Added in-app settings page with link to privacy notice, opt-out for data collection, and default URL
Jan 25, 2018
In addition to some small bug fixes, the app now supports viewing in all orientations properly.
To reduce screen clutter, we've replaced the "eye" icon in lower right (that was used to show / hide native UI) with swipe gesture at the top of screen. Swipe up to hide, down to reveal ... it's a wonderful thing.
We've also added a bit more detail to the error messages when ARKit doesn't initialize properly.
Dec 8, 2017
More UI and bug fixes. iPhoneX support.
Dec 5, 2017
This release fixes a number of issues we discovered since our initial submission, and updates the UI to make things clearer and easier to use.
Dec 3, 2017

WebXR Viewer FAQ

Click here to learn how to download WebXR Viewer in restricted country or region.
Check the following list to see the minimum requirements of WebXR Viewer.
Requires iOS 12.0 or later.
Requires iPadOS 12.0 or later.
iPod touch
Requires iOS 12.0 or later.
WebXR Viewer supports English

WebXR Viewer Alternative

You May Also Like

Get more from Mozilla