USDZ — Apple AR Quick Look Format Based on Pixar USD

2026-07-0413 min read
USDZUSDPixarAppleARKitAR Quick Looke-commerce 3D

USDZ is a container format for AR assets introduced by Apple together with Pixar at WWDC 2018, and it has become the de-facto standard for AR Quick Look on iOS, iPadOS, and macOS. Under the hood, USDZ is simply an uncompressed ZIP archive packaging a scene in Pixar USD (Universal Scene Description) format together with all textures, audio, and animations in a single file. The key technical choice is the lack of compression inside the ZIP — that lets ARKit memory-map the contents and stream geometry and textures to the GPU without decompression. Today USDZ is the basis for e-commerce 3D previews at Wayfair, IKEA, Apple Store, for educational museum projects, and for asset preview pipelines in gaming. On osm2cdr.ru usdz_exporter.py takes a bbox of an OSM area, extrudes 3D buildings, and packages them into USDZ for viewing in iOS Safari through an <a rel="ar"> link or in Reality Composer on macOS.

Map generation of Tokyo city center

History: Pixar USD 2016 → Apple+Pixar USDZ 2018 → AR Quick Look

USDZ's roots go back to Pixar Animation Studios, where Universal Scene Description had been developed since 2012 as an internal pipeline format to replace fragmented Maya/Houdini/RenderMan scenes. USD was meant to solve the central problem of film production: compositing scenes from dozens of artists into a single immutable representation with layered overrides, references, and payloads — concepts borrowed from software engineering. In August 2016 Pixar open-sourced USD on GitHub under Modified Apache 2.0, and the format started spreading beyond Pixar — DreamWorks, Animal Logic, and ILM adopted USD as the backbone of new pipelines.

In June 2018, at WWDC, Apple and Pixar jointly announced USDZ — Zero-compression Universal Scene Description package. It was not a separate reinvention but pragmatic packaging: USDZ is an ordinary ZIP archive without compression (stored, not deflate), containing one primary USD file (usually USDC binary) plus all texture maps, audio clips, and referenced files. The lack of compression is a design choice for AR Quick Look performance: ARKit can mmap the file from disk and read blocks directly without CPU overhead for decompression, which is critical for smooth 60fps on iPhone.

AR Quick Look — an iOS 12 feature (2018) — lets users open USDZ files directly from Safari, Mail, Messages, and Files without installing third-party apps. A link of the form <a rel="ar" href="model.usdz"> is enough: a tap in the browser opens a full-screen AR experience with surface detection and anchoring of the 3D model to the real world. That dramatically lowered the input barrier for e-commerce: Wayfair and IKEA added «View in AR» buttons to product pages, and Apple Store demonstrated the technology on its own MacBook and iPhone pages.

In the following years the ecosystem grew: macOS 10.15 Catalina (2019) brought first-class USDZ preview in Finder and Reality Composer for authoring; Reality Converter (2019) gave a GUI tool for converting glTF/GLB/OBJ/FBX to USDZ; iOS 13 (2019) added people occlusion for AR Quick Look; visionOS and Apple Vision Pro (2024) made USDZ the primary asset format for spatial computing experiences. In 2023 Apple, Pixar, Adobe, Autodesk, and NVIDIA formed the Alliance for OpenUSD (AOUSD) under the Linux Foundation umbrella to govern format evolution at industry scale.

Inside USDZ: USD, USDA, USDC, and the ZIP container

To understand USDZ, you need to distinguish four related concepts that are often confused.

USD (Universal Scene Description) is an umbrella spec and open-source implementation from Pixar. It is not «a single format» but an entire system: scene composition with layered architecture (sublayers, references, payloads, variantSets, inherits, specializes), a schema system (UsdGeom, UsdShade, UsdSkel, UsdLux, UsdPhysics), and a library with C++/Python APIs. A USD scene can consist of dozens of files referencing each other through references and payloads — this lets huge production scenes be composed from reusable components.

USDA (USD ASCII) is a text serialization format. .usda files are human-readable text, convenient for git diffs, manual editing, and debugging. Inside is a structure of prims (primitives — the main scene objects), attributes (typed: float, double, vector3f, asset, token), relationships, and metadata. USDA parses more slowly than binary and is larger on disk, so it is rarely used for production.

USDC (USD Crate) is binary serialization optimized for fast loading and memory mapping. .usdc files are a binary crate format with indexed structure for random access. This is the main storage format for production: Pixar render fleets and ARKit pipelines work with USDC, since it allows mmap of the file and reading only needed prims without parsing the whole scene.

USDZ (zipped USD) is a container package wrapping one USD file (usually USDC) plus all asset dependencies (textures .png/.jpg/.exr, audio .m4a/.wav, video) in an uncompressed ZIP archive. The manifest is the USD file itself — it contains relative-path references to assets inside the ZIP, and USD library knows how to resolve those paths relative to the container. Files inside the ZIP must be aligned to 64-byte boundaries for correct mmap.

USDZ limits for AR Quick Look. Apple documents hard caps on USDZ for AR Quick Look: one root USD file per package; texture resolution no higher than 2048×2048 for predictable performance; recommended file size ≤ 25 MB for smooth download over cellular, practical cap around 200 MB; UsdPreviewSurface shading only (not arbitrary MaterialX networks); animations through UsdSkel or UsdGeomPointInstancer. Files exceeding the limits still open in Reality Composer for desktop preview, but in AR Quick Look on iPhone they may glitch or fail to load.

Shading via UsdPreviewSurface. This is a subset of MaterialX specified by Pixar as the minimal common denominator for real-time rendering. UsdPreviewSurface is a physically-based shader with standard inputs: diffuseColor, emissiveColor, metallic, roughness, normal, occlusion, opacity, plus texture connections. That is enough for realistic preview of products, furniture, or an architectural model. The Apple MaterialX extension on visionOS allows more complex shading networks, but for cross-device USDZ it's recommended to stick to UsdPreviewSurface.

Map generation of Sydney city center

Use cases: AR Quick Look, e-commerce, education, gaming preview

AR Quick Look in iOS Safari. The primary driver of USDZ's popularity. A web developer adds <a rel="ar" href="/models/chair.usdz"><img src="/img/chair.jpg"></a> to a product page — Safari on iPhone/iPad recognizes rel="ar" and on click opens AR Quick Look full-screen with surface detection, model anchoring to floor or table, scale-accurate dimensions in meters, and shake-to-share for sending the model in Messages. No custom apps, no permissions beyond camera access. On macOS Catalina+ the same link opens USDZ in Quick Look preview (3D preview without AR).

E-commerce 3D product previews. Wayfair was one of the first early adopters in 2018 — adding «View in your room» AR to thousands of furniture products, which significantly reduced return rates (per their public statements AR previews cut furniture-category returns by 22%). The IKEA Place app on iOS uses USDZ as the backend format for its ARKit-based room visualizations. The Apple Store website uses USDZ to preview MacBook Pro, iPhone, and AirPods in real surroundings. Shopify added built-in USDZ support for merchants in 2019.

Educational AR experiences. The Smithsonian, the Metropolitan Museum of Art, and the British Museum publish USDZ models of artifacts for educational outreach — a user can «place» an ancient artifact on their table and inspect it from all sides. Apple Education actively promotes USDZ in curricula — anatomy models, molecular structures, historical reconstructions, astronomy. Apps like Complete Anatomy and Froggipedia use USDZ for interactive 3D content.

Gaming asset preview and social commerce. Game studios use USDZ to preview characters/weapons/environments on marketing pages — a user sees the model in AR before downloading the game. Social commerce platforms (Pinterest Lens with AR Try-on, Snapchat Lens Studio) experiment with USDZ for virtual try-on of accessories and furniture in Pinterest pins. Houzz integration lets homeowners view furniture in a real room before buying.

Architectural and real estate previews. Architects export building models from Revit/SketchUp/ArchiCAD to USDZ for client presentations — the client opens the building model on an iPad and «places» a miniature on the table. Real estate listings of some high-end agencies include USDZ models for immersive property tours.

Map generation of Dubai city center

Software and tools: creating and viewing USDZ

Apple Reality Composer (free, iOS/iPadOS/macOS). GUI tool for AR scene composition — drag-and-drop objects, configure physics, triggers, animations. Output is a .reality file (Apple proprietary) or exported USDZ. Useful for prototyping AR experiences without code.

Apple Reality Converter (free, macOS). GUI converter that accepts glTF, GLB, OBJ, FBX, USD and converts to USDZ. Supports material preview, texture replacement, basic transformations. This is the simplest path from standard 3D formats to USDZ for developers without USD expertise.

Apple xcrun usdz_converter (CLI, macOS). A command-line tool from the Xcode toolchain. Takes OBJ files and a set of textures, generates USDZ. Deprecated in favor of Reality Converter for GUI workflow, but still useful in build pipelines.

Pixar USD Toolset (usdcat, usdzip, usdedit, usdview). Open-source CLI tools, part of the USD distribution. usdcat converts between USDA ↔ USDC ↔ USDZ; usdzip assembles USDZ from a set of files; usdview is a Qt-based 3D viewer with hierarchy inspector; usdedit is a text-editor wrapper for USDA. Cross-platform (Linux, macOS, Windows via builds).

Blender USD exporter (built-in since 3.0, 2021). Blender added USD export in the 3.0 release. Supports mesh, materials (a subset of Principled BSDF → UsdPreviewSurface), animations, hierarchy. From Blender 4.0+ direct USDZ export was added without intermediate steps. For serious USD work in Blender there is also the BlenderUSDZ addon with an extended feature set.

Autodesk Maya USD plugin. A free plugin from Pixar/Autodesk for Maya 2020+. Full USD integration: USD prims inside Maya scenes, import/export, references, payloads. Used in most film studios for USD workflow.

SideFX Houdini. Native USD support since Houdini 18+ through Solaris (LOPs context — Lighting Operators). Houdini is one of the best tools for procedural USD generation thanks to its node-based workflow.

ESRI ArcGIS Earth USDZ export. ArcGIS Earth has supported USDZ export for 3D city scenes since 2021 — useful for urban planning presentations and GIS-derived AR context.

Vectary, SparkAR Studio, Adobe Substance 3D Stager. Web-based and desktop tools with USDZ export for designers without 3D-pipeline expertise.

Viewing USDZ. On iPhone/iPad — Safari Quick Look automatically. On macOS — Finder Quick Look (Space bar on a file). On Windows/Linux — Pixar usdview or online viewers like Modelviewer.dev (three.js USDZ loader). Without the Apple ecosystem the native USDZ preview is weaker than for glTF.

OSM2CDR integration: OSM 3D buildings → USDZ AR

Our usdz_exporter.py generates a USDZ package with 3D extrusions of buildings from OSM data, ready to view in AR Quick Look on iOS or in Reality Composer on macOS.

Step 1: Load OSM buildings. PostGIS query through local_osm_loader.py for a bbox filtered by building IS NOT NULL. We extract footprint geometry (polygon/multipolygon), building:levels (number of stories), height (if explicitly set), and building type (for color mapping).

Step 2: 3D extrusion. Building footprint is extruded vertically through trimesh or CGAL polygon extrusion: if height is set, it is used directly; otherwise building:levels × 3.5m (standard story height); fallback is 6 meters for buildings without metadata. Multipolygon buildings with inner holes are processed via triangulation (earcut algorithm) for valid meshes.

Step 3: glTF intermediate. First we generate an intermediate glTF 2.0 file via pygltflib — this gives us a standard interchange format with PBR materials. Building color mapping: building=residential → beige, building=commercial → grey, building=industrial → dark grey, building=apartments → light brown, default — neutral grey. Materials use a PBR metallic-roughness model compatible with UsdPreviewSurface.

Step 4: Conversion to USDZ. glTF → USDZ conversion goes through two alternative paths depending on the platform: on macOS workers (if available) — Apple Reality Converter CLI; on Linux workers — Pixar usdcat/usdzip pipeline through USD library Python bindings. Conversion configures UsdPreviewSurface materials, optimizes textures to the 2048×2048 cap, and validates the final file size.

Step 5: ZIP packaging. Final USDZ is an uncompressed ZIP with aligned offsets via Python's zipfile module with the ZIP_STORED flag and manual 64-byte alignment padding. Output is validated via usdchecker (part of Pixar USD toolset) if installed.

Limits of our pipeline. No animations — static mesh-only models (animations require UsdSkel rigging which is not present in OSM). Textures — only solid colors per building type, not photorealistic facade textures. File size cap — extrapolating all of Moscow would exceed the AR Quick Look 200 MB limit, so export is typically limited to bbox up to ~5 km². Complex multipolygon buildings with multi-level holes are simplified to flat extrusion. No interior — buildings are empty extrusion shells without interior geometry.

Recommended use case. osm2cdr USDZ export fits AR tours of city centers (tourism apps, urban planning presentations, real-estate context), educational geography content (showing students a district in AR), preview before a visit (open a future route in AR on iPhone). For photorealistic architectural visualizations, it's better to use Blender or Houdini with manual texturing after the baseline export from osm2cdr.

Conclusion

USDZ is a pragmatic packaging of Pixar USD for AR Quick Look needs: uncompressed ZIP, mmap-friendly layout, single-file convenience for drag-and-drop workflows. In the six years since release the format has solidified as the industry standard for mobile AR — every iPhone supports USDZ out of the box through Safari, and thousands of e-commerce sites use it to boost conversion. The formation of the Alliance for OpenUSD in 2023 with Apple, Pixar, Adobe, Autodesk, and NVIDIA means the USD ecosystem (and USDZ along with it) will evolve as a cross-vendor standard, not an Apple-only initiative.

On osm2cdr.ru USDZ export is our bridge from OSM data to Apple's AR ecosystem: city bbox → 3D building extrusion → USDZ package → tap in iOS Safari → an AR model of a city block on the user's table. This is a baseline for AR city tours, urban planning previews, and educational geography content without needing to develop a custom iOS app.

Try exporting OSM to USDZ for your city and open the result in Safari on iPhone — or load it in Reality Composer on macOS for further scene refinement.

Sources

← All articles