Viewing 3D USDZ Models with AR Quick Look in Safari

This article provides a complete overview of how Apple's AR Quick Look technology works within the Safari web browser on iOS and visionOS to project 3D USDZ models into a user's physical space. It covers the role of the USDZ file format, how web developers implement the feature using simple HTML, and how both operating systems utilize device sensors and the ARKit framework to seamlessly anchor, light, and scale virtual objects in the real world without requiring a separate app.

The Role of the USDZ File Format

AR Quick Look relies entirely on the USDZ (Universal Scene Description Zip) file format, which was co-developed by Apple and Pixar. A USDZ file is a single, uncompressed archive that contains all the necessary data to display a 3D object, including its geometry, surface textures, shading, skeletal animations, and even spatial audio. Because Safari natively supports USDZ, the browser can stream and render these files directly from a webpage without needing third-party plugins or external software.

How Safari Triggers AR Quick Look

The transition from a flat webpage to an augmented reality experience is triggered by standard HTML code. Web developers embed a link to the USDZ file using a standard HTML anchor tag and include the rel="ar" attribute.

When Safari detects this specific attribute, it alters how it handles the file. Instead of downloading the USDZ file to the device's storage, Safari passes the file directly to the operating system's built-in AR Quick Look viewer.

Viewing Models on iOS

When a user on an iPhone or iPad taps an AR-enabled link in Safari, the operating system immediately opens a full-screen camera view powered by Apple's ARKit framework. The process of placing the object happens in three steps:

  1. Environment Scanning: The device uses its rear cameras, motion sensors, and the LiDAR Scanner (on supported models) to analyze the physical room. ARKit looks for flat horizontal and vertical planes, such as floors, tables, or walls.
  2. Object Placement and Scaling: Once a surface is detected, the USDZ model is anchored to that physical spot in the camera feed at its real-world scale. Users can use multi-touch gestures on the screen to rotate the object, drag it to a new location, or pinch to shrink and enlarge it.
  3. Environmental Integration: ARKit continuously measures the ambient light in the physical room and applies matching color temperatures, reflections, and directional shadows to the 3D model. On newer devices, the system also uses people occlusion, which allows real-world people and objects to naturally pass in front of and behind the virtual model.

Viewing Models on visionOS

On Apple Vision Pro, visionOS adapts AR Quick Look for spatial computing, removing the barrier of a flat screen. Because the headset is constantly mapping the user's surroundings, the transition from Safari to the physical room is instantaneous.

  1. Pulling Objects from the Web: When a user looks at an AR link in Safari and taps their fingers together, the 3D USDZ model emerges directly out of the 2D browser window and floats in their physical space.
  2. Eye and Hand Manipulation: Instead of using a touchscreen, users look at the 3D object and use hand pinch gestures to grab, move, and rotate it. Using two hands, they can pull the object apart to scale it up or push their hands together to shrink it. The object can be rested on physical furniture or left floating in mid-air.
  3. Stereoscopic Depth and Audio: Because visionOS renders the USDZ model for each eye individually, the user perceives the object with true three-dimensional depth and scale. The headset continuously updates the model's lighting based on the room's conditions, and if the USDZ file contains audio, the sound is emitted directly from the specific location in the room where the user placed the object.