GLB or USDZ: which 3D format should you choose for augmented reality?

For augmented reality, you don't have to choose: GLB is the open format of the web and Android (model-viewer, Scene Viewer, WebXR), while USDZ is the format AR Quick Look requires on iPhone and iPad. So publish a GLB and its USDZ equivalent. With Visuality, you upload the GLB and the USDZ is generated automatically.

Comparison of the GLB and USDZ 3D file formats for augmented reality

What is the difference between GLB and USDZ?

GLB and USDZ are both all-in-one formats: a single file holds the model's geometry, materials and textures. They come from different worlds, though: GLB is an open standard designed for the web, while USDZ is a sharing format designed by Apple for its own ecosystem. The table below sums up their differences.

GLB vs USDZ comparison
Criterion GLB USDZ
Origin Khronos Group: glTF 2.0 released in 2017, standardised as ISO/IEC 12113:2022 Apple, in collaboration with Pixar (2018), based on Pixar's USD format
File structure A single binary container: JSON description plus binary data (geometry, images) An uncompressed zip archive: a USD scene and its textures (PNG, JPEG, EXR or AVIF)
Augmented reality Android: Scene Viewer and WebXR in Chrome iPhone, iPad and Apple Vision Pro: AR Quick Look
3D display on the web Read by model-viewer, three.js, Babylon.js and most web viewers Few web viewers: mostly read by Apple apps
Materials Metallic-roughness PBR, extended by Khronos extensions (material variants, transmission…) PBR described by the UsdPreviewSurface material
Animations Yes (transforms, skeletons, morph targets); Scene Viewer only plays the first animation Yes; Apple recommends about 10 seconds of animation for AR Quick Look
Compression Draco or meshopt for geometry, KTX2 for textures (extensions) The archive is not compressed; textures remain standard images
Common tools Blender, 3ds Max, Maya, Substance, AI 3D generators, scanning apps Reality Composer, Reality Converter, Blender, some CAD software and scanning apps

What is the GLB format?

GLB is the binary form of glTF (GL Transmission Format), an open, royalty-free standard published by the Khronos Group, the consortium that also manages OpenGL and Vulkan. Version 2.0, finalised in 2017, introduced PBR materials; in 2022 it became the international standard ISO/IEC 12113:2022.

Whereas a .gltf consists of a JSON file plus separate binary and image files, a .glb bundles everything into a single file that is easier to host and share. It is the native format for 3D on the web: browsers display it through libraries such as model-viewer or three.js, and Android opens it in augmented reality through Scene Viewer or WebXR. Units are standardised (1 unit = 1 metre), which makes true-to-scale display easier.


What is the USDZ format?

USDZ was introduced by Apple in 2018, in collaboration with Pixar, when ARKit 2 and iOS 12 were announced. It is based on USD (Universal Scene Description), the scene description format created by Pixar and open-sourced in 2016. Technically, a USDZ file is an uncompressed, unencrypted zip archive whose files are aligned so they can be read directly, without extraction.

It is the format used by AR Quick Look, the augmented reality viewer built into iOS, iPadOS and visionOS: a USDZ file opens in AR from Safari, Messages, Mail or Notes, with no app to install. However, it is rarely read outside the Apple ecosystem: for 3D display on a web page or on Android, GLB remains the standard.


Do you need a GLB file, a USDZ file or both?

To reach every smartphone, you need both. A viewer such as model-viewer loads the GLB for 3D display and augmented reality on Android, and hands the USDZ over to AR Quick Look on iPhone and iPad (the ios-src attribute). This is how a standard 3D product page works.

Without a USDZ file, model-viewer can generate one on the fly on the iPhone when the user taps the augmented reality button. Its documentation points out, however, that this conversion is not perfect: animations are not supported, and the conversion runs on the phone. With a heavy model, such as a scan or an AI-generated model with over a million triangles, it can fail for lack of memory. A USDZ prepared in advance therefore gives more reliable results.


What about other formats: OBJ, FBX, USD, USDA, USDC?

  • OBJ: an old, universal text format. It describes geometry, with simple materials in a separate .mtl file, but supports neither animations nor PBR materials. It must be converted to GLB before being used in augmented reality.
  • FBX: a proprietary Autodesk format, common in video games and animation. It carries rigs and animations but cannot be read by browsers: it is exported to GLB, for example with Blender.
  • USD, USDA, USDC: USD scene files, in text (.usda) or binary (.usdc) form, used in 3D production pipelines and by Apple's tools. USDZ is their single-file packaged version.
  • CAD formats (STEP, IGES, SolidWorks…): they describe mathematical surfaces, not meshes. They must be converted into a mesh (tessellation) and then to GLB, keeping an eye on the resulting polygon count.

What pitfalls should you avoid when converting between GLB and USDZ?

  • Scale: glTF works in metres, while a USD file declares its own unit (metres, centimetres…). A badly configured conversion produces an object 100 times too big or too small. Another trap: AR Quick Look ignores the web viewer's size settings, so the scale must be built into the USDZ file.
  • Animations: they do not always survive conversion. model-viewer's automatic generation does not export them, and some converters ignore them too.
  • Textures: above 2048 × 2048 pixels, they use a lot of memory on iPhone. USDZ only accepts PNG, JPEG, EXR or AVIF images, so a KTX2-compressed texture in the GLB has to be re-encoded.
  • Materials: some glTF extensions (transmission, clearcoat, variants) do not always have an equivalent after conversion. Check how glass, glossy or multi-colour materials render.
  • Polygon count: a scan or AI model with several million triangles may display on a computer but crash augmented reality on a phone. Decimation is then essential.
  • Embedded cameras and lights: exported by some software, they add to the viewer's own lighting and overexpose the model. It is best to remove them before exporting.

What file size and polygon count should you aim for?

Apple and Google publish similar recommendations. Following them ensures fast loading and smooth augmented reality, even on older smartphones.

Recommendations for a 3D model intended for mobile augmented reality
Criterion Google Scene Viewer (GLB) Apple AR Quick Look (USDZ) USDZ generated by Visuality
Triangles 100,000 at most; ideally 30,000 to 50,000 About 100,000 polygons Automatic decimation above 200,000 triangles
Textures 2048 × 2048 pixels maximum One set of 2048 × 2048 pixel textures Capped at 2048 pixels
File size 10 MB (beyond that, the experience suffers) No official figure Depends on the uploaded model
Animations Only the first animation plays, on a loop About 10 seconds recommended Not exported: the model is static in AR on iPhone

Sources: Google's Scene Viewer documentation (file requirements); AR Quick Look recommendations presented by Apple at WWDC 2018 and confirmed by an Apple engineer on the developer forums in 2021. Verified on October 15, 2026.

For a single product, aim for fewer than 100,000 triangles and a file of around ten megabytes. To reduce file size without losing quality, simplify hidden areas, combine textures and keep fine details in a normal map rather than in the geometry.


How does Visuality handle the GLB and USDZ formats?

Visuality is designed so that you only have to provide one file. Here is what happens after you upload it:

  • Accepted formats: GLB, plus the USD family (.usdz, .usd, .usda, .usdc). A USD or USDZ file is converted to GLB on upload: units are converted to metres, and embedded cameras and lights are removed.
  • Automatically generated USDZ: moments after the upload, our servers produce the USDZ file that AR Quick Look serves to iPhones and iPads. You have nothing to convert yourself.
  • Built-in scale: the size you set in Visuality is baked into the USDZ, so the object appears at the right size in AR Quick Look just as on Android.
  • Optimisation of heavy models: above 200,000 triangles, the model is automatically decimated for the USDZ, and textures are capped at 2048 pixels. AI-generated models, which are often very dense, can therefore still be viewed in AR on iPhone.
  • Automatic updates: if you replace the 3D file or change the object's size, the USDZ is regenerated.
  • Limitation to be aware of: the generated USDZ does not include animations. They can still be played in the 3D viewer, but the object appears static in augmented reality on iPhone and iPad.

To prepare your file before uploading it, see our documentation on preparing 3D models. Don't have a model yet? Discover the ways to create a 3D model.


Frequently asked questions

On iPhone and iPad, web-based augmented reality goes through AR Quick Look, which reads USDZ (and Reality) files. A GLB alone is therefore not enough, unless the viewer generates the USDZ on the fly on the phone, which often fails with heavy models. With Visuality, you upload a GLB and the USDZ is created automatically on our servers.

Blender, which is free and open source, imports glTF/GLB and exports to USD/USDZ. On Mac, Apple's Reality Converter app can also convert glTF files. After converting, always check scale, textures and animations in AR Quick Look. On Visuality, this step is automatic: the USDZ is produced from the uploaded GLB, scale included.

Most often, the scale is not built into the USDZ file. AR Quick Look ignores size settings applied by the web viewer and only reads the dimensions stored in the file. A unit error during conversion (centimetres instead of metres) also produces an object 100 times too big or too small. Visuality bakes the size you set into the generated USDZ.

Animations are often lost when converting from GLB to USDZ. model-viewer's automatic generation does not export them, and the USDZ produced by Visuality is static too. The animation remains visible in the 3D viewer and on Android. For an animation in AR on iPhone, you need an animated USDZ prepared in 3D software.

Google recommends about 10 MB for Scene Viewer and warns that bigger models make for a poorer experience. Apple does not publish a maximum file size, but advises about 100,000 polygons and 2048 × 2048 pixel textures. In practice, aim for a file of around ten megabytes at most for a single product.

Not directly: neither AR Quick Look nor Scene Viewer can open them. You first need to convert them to GLB, for example with Blender, checking the materials (often poorly converted from OBJ) and the scale along the way. The resulting GLB can then be uploaded to a platform such as Visuality, which takes care of the USDZ.

Sources

  1. glTF Overview — Khronos Group, Verified on October 15, 2026
  2. Khronos Releases glTF 2.0 Specification — Khronos Group, 2017
  3. glTF 2.0 Specification — Khronos Group, Verified on October 15, 2026
  4. Apple unveils ARKit 2 (usdz) — Apple Newsroom, 2018
  5. AR Quick Look gallery — Apple Developer, Verified on October 15, 2026
  6. Creating USD files for Apple devices — Apple Developer, Verified on October 15, 2026
  7. Integrating Apps and Content with AR Quick Look (WWDC18, session 603) — Apple, 2018
  8. AR Quick Look model recommendations — Apple Developer Forums, 2021
  9. usdz File Format Specification — OpenUSD, Verified on October 15, 2026
  10. Scene Viewer — File requirements for models — Google for Developers, Verified on October 15, 2026
  11. <model-viewer> — Augmented Reality — Google, Verified on October 15, 2026
  12. KHR_draco_mesh_compression — Khronos Group, Verified on October 15, 2026

Ready to get started with augmented reality?

Create your Visuality account and start viewing your products in 3D and augmented reality in minutes. Free 7-day trial, no commitment.


Further reading