A 3D format determines what data travels with your model: geometry alone, or geometry plus materials, textures, animation and scene structure. Picking wrong is the usual reason a model "loses its texture" between tools.
At a glance
- GLB / glTF — geometry, PBR materials, embedded textures, animation, skinning. For real-time, web, AR, and increasingly everything.
- FBX — geometry, materials, animation, rigging, multiple takes. The interchange default for game and film pipelines.
- OBJ — geometry and basic materials via a separate MTL file. Static models, wide legacy support.
- STL — triangles only. No colour, no materials, no units. 3D printing.
- USD / USDZ — full scene graphs, layering, references between assets. Large-scale scene composition; USDZ is Apple's AR container.
- PLY — point clouds and scanned data.
- STEP / IGES — parametric CAD surfaces. Manufacturing, not rendering.
Choosing by destination
- A game engine: FBX or GLB. Both work; GLB carries PBR materials more faithfully, FBX has deeper animation support.
- A browser or AR viewer: GLB, without much argument.
- A 3D printer: STL, or 3MF if you want units and colour.
- Another modelling application: FBX for rigged content, OBJ for plain geometry, USD for whole scenes.
- A manufacturer: STEP. A mesh format is the wrong answer.
Single file or many
GLB embeds its textures; glTF (the .gltf variant) references them as separate files. OBJ always references. FBX can do either.
Embedded is simpler to move and harder to edit. Referenced is the reverse, and it is where missing-texture problems come from — the files did not travel together.
The practical default
For most work today, GLB. It is a modern specification, it carries what real-time rendering needs, it embeds cleanly, and support is near-universal. Reach for FBX when animation complexity demands it, and OBJ when something old needs feeding.