← Apple Vision ProSpatial Web

Safari Lets You Drag 3D Models Into Your Space on Vision Pro

A USDZ file and one HTML element are enough to make a web model interactive, stereoscopic, and draggable at real size.

ShareXFacebookLinkedIn
A hand pinches an interactive 3D model beside the Spatial Insider website in Safari on Apple Vision Pro
A 3D model of Logitech Muse has left its product card and now floats at real size beside Safari.Image: Justin Ryan / Spatial Insider

A 3D product on a web page can leave Safari and become an object in your room on Apple Vision Pro.

I tested the feature on Spatial Insider by pinching a model of Logitech Muse, pulling it away from its product card, and placing it beside the Safari window. Once it was in the room, I could move, turn, and resize it with the same direct gestures used for other spatial content.

Safari handles that move from page to space. A website does not need a visionOS app, a custom RealityKit scene, or its own drag-and-drop code.

The model element does the work

The feature comes from the HTML model element, a native part of Safari that displays 3D content much like an image or video. Safari added it on Vision Pro with visionOS 26.

The model remains three-dimensional while it sits on the page. Add the orbit stage mode and a visitor can turn it inline. On Vision Pro, the same model can be dragged off the page and viewed stereoscopically at real size.

USDZ is the best place to start. It is a single file that can hold the model’s shape, materials, textures, and animation.

Add it with one HTML element

The smallest working version needs a USDZ file, a fallback image, and the model element. Copy this block into the body of a page.

Add an interactive model to a web page
<model
  id="product-model"
  src="/models/product.usdz"
  stagemode="orbit"
  aria-label="Explore the product in 3D">
  <img
    src="/images/product-fallback.jpg"
    alt="The product shown from the front">
</model>

<style>
  model {
    display: block;
    width: min(100%, 720px);
    aspect-ratio: 1;
    background-color: #f5f5f7;
    border-radius: 24px;
  }

  model > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
</style>

Change the two file paths and the two descriptions. The src value points to the USDZ. The image inside the element gives older browsers and loading failures something useful to show.

The orbit value lets people rotate the model while it is still on the page. It is optional for the drag-to-space behavior, which Safari provides automatically on Vision Pro.

Serve the USDZ with the Content-Type model/vnd.usdz+zip. If that label is wrong or the URL returns an error page, Safari may not load the model even when the HTML is correct.

Add loading feedback

A 3D file can be much larger than a normal image. Safari exposes a ready promise so the page can keep a loading message visible until the model is available.

Show when the model is ready
<p id="model-status" role="status">Loading 3D model…</p>

<script>
  const model = document.getElementById("product-model");
  const status = document.getElementById("model-status");

  model.ready
    .then(() => {
      status.textContent = "3D model ready";
    })
    .catch(() => {
      status.textContent = "Showing the product image instead";
    });
</script>

Keep the fallback image even when the model works on your own device. Safari now supports the model element across Apple platforms, but other browsers may still need the image or a polyfill. The spatial view itself cannot be recreated by a normal web polyfill.

Make the model fast enough for the web

Large textures are usually the first place to save space. Apple’s usdcrush tool can repack the images inside a USDZ while preserving the original file as a safe copy.

Create a smaller copy of the USDZ
usdcrush product.usdz -o product-small.usdz

Use the smaller file only after it looks right on the page and in Vision Pro. Apple’s WWDC example reduced one model from 7.9MB to 1.9MB without a visible quality change, although the result will depend on the asset.

This is different from an immersive website

Dragging a model gives the visitor one object they can place and inspect. An immersive website environment (opens in a new tab) opens a full 3D place around the Safari window. Both begin with the model element, but they solve different jobs.

For a product page, museum object, lesson, or 3D portfolio, the draggable model may be all the spatial experience a site needs. Put one USDZ on a test page, open it in Safari on Vision Pro, and pull it into the room.

More from Apple Vision Pro.

Browse all stories
Blackmagic’s spherical microphone in its forest launch artwork.

Spatial Audio · 2 min read

Blackmagic Unveils What It Calls the World’s First 7th-Order Ambisonic Microphone

On November 11, Blackmagic introduced a spatial audio microphone that packs 108 tiny capsules into one sphere, encodes 64 channels of sound from every direction inside the mic, and sends them over one USB-C cable. It’s due in December 2026, starting at $1,909.

Apple TV’s Vision Pro icon against a blue ocean wave.

Apple Immersive Video · 1 min read

The Apple TV App on Vision Pro Now Lets You Discover Immersive Films From Other Apps

Fovii says its films now appear on the Vision tab and open in its app. TARGO’s new film, Entering Formula 1 Racing, joins the lineup November 11.

Strada’s comment window over immersive whale footage.

Immersive Video · 2 min read

Strada Now Streams Apple Immersive Video From a Mac to Vision Pro Over the Internet

A collaborator can watch footage straight from your Mac and leave notes on the exact frame. Strada can also turn Blackmagic RAW into immersive dailies on that same Mac.

Preparing the Spatial Insider studio