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.
No commitment, no credit card required.
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.
| 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.
| 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
Sources
- glTF Overview — Khronos Group, Verified on October 15, 2026
- Khronos Releases glTF 2.0 Specification — Khronos Group, 2017
- glTF 2.0 Specification — Khronos Group, Verified on October 15, 2026
- Apple unveils ARKit 2 (usdz) — Apple Newsroom, 2018
- AR Quick Look gallery — Apple Developer, Verified on October 15, 2026
- Creating USD files for Apple devices — Apple Developer, Verified on October 15, 2026
- Integrating Apps and Content with AR Quick Look (WWDC18, session 603) — Apple, 2018
- AR Quick Look model recommendations — Apple Developer Forums, 2021
- usdz File Format Specification — OpenUSD, Verified on October 15, 2026
- Scene Viewer — File requirements for models — Google for Developers, Verified on October 15, 2026
- <model-viewer> — Augmented Reality — Google, Verified on October 15, 2026
- KHR_draco_mesh_compression — Khronos Group, Verified on October 15, 2026