3D file format guide
GLB vs glTF vs OBJ vs USDZ
The four formats you'll meet most often in web and AR. Short version: use GLB for the web and Android AR, USDZ for native iOS AR, treat glTF as the underlying standard GLB packages, and treat OBJ as a legacy interchange format to convert from.
At-a-glance comparison
| Format | What it is | Packs textures? | Android AR | iOS AR | Web 3D | Typical size |
|---|---|---|---|---|---|---|
| GLB | Binary glTF — one self-contained file | Yes (embedded) | Yes (Scene Viewer) | No (needs USDZ) | Yes | Small–medium |
| glTF (.gltf) | JSON scene + external .bin & textures | No (external files) | Yes (if assets resolve) | No (needs USDZ) | Yes | Small (multi-file) |
| OBJ | Legacy text mesh + optional .mtl | No (separate .mtl/maps) | Convert first | Convert first | Via conversion | Large (text) |
| USDZ | Apple's AR package (USD zipped) | Yes (embedded) | Not native | Yes (Quick Look) | Limited | Small–medium |
"Convert first" means the format must be converted (for example OBJ → GLB, as the viewer here does in-browser) before AR.
GLB — the web/AR default
GLB is the binary form of glTF: a single file that bundles geometry, materials,
animations, and textures together. Because it is self-contained, it is the easiest
format to drag-and-drop, host, and pass to a viewer. It powers Android AR through
Scene Viewer and is the standard input for Google's <model-viewer>.
If you only keep one format, keep GLB.
glTF — the standard underneath
glTF ("GL Transmission Format") is an open Khronos standard sometimes called "the JPEG
of 3D." The .gltf variant is human-readable JSON that references external
binary (.bin) and image files. That multi-file nature makes plain
.gltf awkward to drag-and-drop, since the loader needs every referenced
file. For distribution, the same data is almost always shipped as a single GLB.
OBJ — legacy interchange
OBJ is an old, widely supported text format for mesh geometry, with materials in a
companion .mtl file and textures as separate images. It has no animation
support and no AR support of its own, and its text encoding makes files large. It is
still common as an export/interchange format, which is why the
viewer here converts OBJ to GLB
in the browser before display.
USDZ — native iOS AR
USDZ is Apple's AR delivery format — a zipped package built on Pixar's Universal Scene Description. It is what iOS Quick Look uses to place models in the real world from Safari. The catch for a browser tool: USDZ generally cannot be generated in-browser from an arbitrary GLB, so client-side tools (including this one) provide interactive 3D on iOS rather than native Quick Look AR. Production pipelines such as WEARFITS export both GLB and USDZ so that AR is automatic on both platforms.
Quick recommendations
- Embedding a product on the web + Android AR: ship GLB.
- Native AR on iPhone/iPad: also ship USDZ alongside the GLB.
- You were handed an OBJ: convert it to GLB (do it in the viewer).
- Authoring/exporting from a 3D tool: export GLB; keep
.gltfonly if you need to edit the JSON.
Last updated June 2026 · view-ar editorial