The short answer: use OBJ for straightforward static mesh exchange, FBX when the receiving application needs a compatible rig or animation workflow, glTF/GLB for runtime and web delivery, USD for scene composition, and STEP for CAD exchange. Keep the native editable source. A preview or delivery file is not a replacement for the master.
A standards- and documentation-based guide, checked October 21, 2026. Format support varies by exporter, importer and viewer. We have not benchmarked conversions for this update.
3D file formats at a glance
What each format is for, and what to test
| Format | Main job | Common contents | Check before handoff |
|---|---|---|---|
| OBJ + MTL | Static mesh exchange | Geometry, UVs and material references | Include companion material and texture files; not a rig or animation interchange |
| FBX | Exchange between authoring tools and engines | Meshes, skeletons, skinning and animation, subject to implementation | Exporter version, axes, units, rig and material compatibility |
| glTF / GLB | Runtime, web and viewer delivery | Meshes, PBR materials, textures, skins and animation | Viewer support for required extensions and external dependencies |
| USD / USDZ | Scene description and composition; packaged delivery | Scene data, relationships and composition mechanisms; packaged assets for USDZ | Application schemas, shading and package dependency compatibility |
| STL | Simple mesh handoff, commonly for 3D printing | Triangulated surface geometry | Scale, watertightness and whether the workflow needs information STL does not carry |
| STEP | Neutral engineering CAD exchange | CAD geometry and other data depending on the application protocol and export | Protocol, assembly structure, units and receiving CAD application |
glTF vs OBJ: delivery materials or a static mesh?
Choose glTF or GLB when the destination is a web viewer, a runtime application or a workflow that needs supported physically based materials, skins or animation. Khronos defines glTF as a runtime asset-delivery format, designed for efficient transmission and loading, not as a full authoring-project archive.
Choose OBJ when a receiving tool expects a simple static mesh and does not need a rig or animation. A typical OBJ handoff may involve the geometry file, an MTL file and separate textures. Sending only the geometry can leave the recipient with the right shape and missing appearance.
Neither choice guarantees a smaller file or a faster workflow in every case. Texture resolution, mesh density, compression settings and the recipient's supported extensions matter. Test a representative asset in the actual destination rather than relying on the extension alone.
glTF vs FBX: deliver the model or continue working on it?
FBX is commonly used to exchange assets between authoring applications and game engines. It can carry meshes, rigs and animation, but the receiving importer determines what survives. Exporter versions, skeleton conventions, units and materials need an end-to-end test.
glTF is designed around delivery to engines and applications. Its defined material model and runtime-oriented structure make it useful for previews, product models and interactive viewers. It is not a promise to preserve every modifier, procedural material or editing construct from the source application.
The practical workflow can use both: keep the native scene as the editable master, use an agreed interchange format for production handoff, and generate glTF/GLB for viewing or delivery. Do not replace the source with a derivative simply because the derivative opens in a viewer.
FBX vs OBJ: animation handoff or static geometry?
Choose OBJ when the recipient needs a static mesh and can handle its material and texture companions. Choose FBX when the agreed pipeline needs a rig, skinning or animation and the receiving importer supports the exported data. Neither file extension guarantees that every shader or authoring feature survives. Verify the result in the recipient's actual application.
glTF vs GLB: are they different formats?
They are packaging choices within glTF. A .gltf asset describes the scene in JSON and may reference separate buffers and image files. A .glb uses a binary container that can bundle scene data and binary resources. Check the exported result: do not assume every GLB is completely dependency-free.
GLB can simplify handing a model to another person because there are fewer files to misplace. A separated glTF package can be useful when your pipeline manages resources independently. The right choice depends on how the destination loads, caches and updates assets.
USD vs glTF, and where USDZ fits
OpenUSD is a scene-description and composition system. Layers, references and other composition mechanisms let teams assemble scenes from reusable pieces without treating every handoff as one flattened mesh. That makes it a different kind of tool from a runtime-delivery format.
glTF focuses on efficient transmission and loading of scenes and models in applications. It is usually the more direct question when preparing a model for a supported interactive viewer. USD and glTF can coexist: the production scene and delivery asset need not use the same format.
USDZ packages USD content and resources. Apple's Quick Look supports USDZ for viewing and AR on supported devices, but do not equate that platform feature with universal browser support for arbitrary USD scenes. Check the target device and the contents of the exported package.
STEP, STL and the difference between CAD and a display mesh
An engineering master and a renderable mesh serve different purposes. STEP can exchange precise CAD geometry and associated information, depending on the selected protocol and exporter. STL is a triangulated surface representation and does not preserve the same editable engineering model.
A CAD preview pipeline may tessellate precise geometry into a mesh. That mesh is useful for viewing, not proof that the recipient has all the engineering information required for manufacturing or continued design. Preserve the native CAD source and the agreed neutral exchange copy.
For an asset library, test the actual extensions and assemblies you use. A system that accepts a file upload has not necessarily parsed its geometry, generated a useful thumbnail or preserved its dependencies.
Does glTF open natively in a browser?
Not like a JPEG. Browser-based 3D viewing normally uses a compatible viewer or rendering engine. Khronos describes glTF as a format loaded by engines and applications; the extension alone does not make every browser display the model. Required extensions, textures and compression must also be supported by the viewer.
Ask a DAM supplier to demonstrate the exact workflow: upload a representative original, inspect the generated preview, open it from a non-authoring device and download the expected files. Our guide to previewing 3D files in a browser covers the library-side decision.
A handoff checklist for a 3D asset library
- Keep the editable master. Preserve native source files and their dependencies.
- Name the receiving application. Record the importer or viewer, version and required extensions.
- Agree on units and axes. Verify size and orientation after import, not just successful loading.
- Check appearance and motion. Inspect textures, material interpretation, animation and rig behavior where relevant.
- Test the complete package. Open it on a separate machine without access to the creator's local folders.
- Track source and derivatives together. Record which source version produced each preview or delivery asset; regeneration is a workflow to implement, not an automatic property of the format.
For the software selection, see 3D asset management software. For the source-to-derivative relationship, see 3D asset versioning. This guide compares formats; it does not rank DAM products or claim that every DAM can preview every format.
FAQ
Is glTF better than OBJ?
For runtime delivery with supported PBR materials, skins or animation, glTF is generally the more relevant format. OBJ remains useful for straightforward static mesh exchange. Choose according to the receiving application and test the full asset package.
Should I use FBX or glTF?
Use the interchange format your authoring or engine pipeline supports and validates. FBX is commonly used for production exchange; glTF is designed for runtime delivery. Keep the editable native source regardless of the delivery format.
What is the difference between glTF and GLB?
A glTF asset can use JSON with external buffers and images. GLB is a binary container that can bundle scene data and resources. Inspect the exported package rather than assuming every GLB has no external dependencies.
Is USD the same as glTF?
No. OpenUSD provides scene description and composition mechanisms such as layers and references. glTF focuses on efficient runtime transmission and loading. They can serve different stages of the same production and delivery workflow.
Can every browser preview GLB files?
No. Web viewing normally requires a compatible 3D viewer or rendering engine. Support also depends on the asset's extensions and resources. A file extension is not a guarantee of universal browser display.
Sources and references
- Khronos glTF 2.0 specification: runtime delivery, materials, animation, external resources and binary packaging.
- OpenUSD introduction: scene description and composition.
- Apple Quick Look: supported USDZ viewing and AR workflows.
- Autodesk FBX documentation: FBX exchange and implementation details.
- Library of Congress: Wavefront OBJ, STEP and STL: format scope and characteristics.
Sources checked October 21, 2026. Verify your own exporter, importer and viewer; this guide does not substitute for a compatibility test.