
The short comparison
| Format | Keeps | Drops | Use it for |
|---|---|---|---|
| GLB | Named nodes, PBR materials, embedded textures, animation, instancing | Parametric history, CAD tolerances | The web, engines, sharing one self-contained file |
| glTF | The same as GLB, with assets as separate files | The same | Pipelines where textures are edited separately |
| OBJ | Geometry, UVs, material references via .mtl | Animation, hierarchy depth, PBR beyond basics | Simple geometry interchange between modelling tools |
| STL | Triangles. Nothing else | Names, materials, colour, UVs | 3D printing and mesh analysis |
| FBX | Hierarchy, materials, animation, rigs | Openness — it is a proprietary format | Game pipelines, especially older Unity/Unreal ones |
| USDZ | Hierarchy, materials, animation | Broad editing support outside the Apple ecosystem | AR Quick Look on iOS |
If the file will be edited again
Choose a format that keeps names and hierarchy — GLB, glTF or FBX. The moment part names are gone, the next edit starts with the tedious work of separating and renaming, and every automated step that addressed a part by name breaks.
If it is going on the web
GLB, effectively without competition. One file, PBR materials, wide native support in three.js, Babylon.js and every browser viewer, and small enough to download in front of a user. Compress geometry with Draco or Meshopt if size matters, and check the decoder cost on low-end devices before assuming compression is free.
- Keep repeated parts as instances rather than copies — a node referencing one mesh sixty times is a fraction of the size of sixty meshes.
- Strip normals you do not need and let the renderer compute them, if the shading holds up.
- Prefer material values to texture images where the surface is uniform; a colour costs bytes, an image costs kilobytes.
If it is going to a printer
STL or 3MF. What matters is watertight, manifold geometry at the right scale — not materials, not names. Check for non-manifold edges and flipped normals before slicing, and confirm the unit: an STL carries no units at all, which is why models arrive a thousand times too large.
What Refora exports
GLB is the audited round trip: geometry, part names, materials and embedded preset images survive export and re-import. Additional formats appear on the download page as each one is verified in a release build rather than being promised in advance.
Questions
- What is the difference between GLB and glTF?
- They are the same format with different packaging. glTF is JSON with buffers and textures as separate files; GLB packs everything into one binary file. Convert between them freely — no data is lost.
- Which 3D format is best for the web?
- GLB. It is one self-contained file, supports PBR materials and instancing, and loads natively in three.js, Babylon.js and browser viewers without a converter.
- Why does my STL have no colours?
- STL stores triangles only — no materials, no colour, no names. If you need appearance to survive, export GLB or FBX instead.
- Is OBJ still worth using?
- For simple geometry interchange between modelling tools, yes — it is universally readable. For anything with hierarchy, animation or modern PBR materials, GLB carries far more and carries it more reliably.