Skip to content

Guide

Which 3D file format should you use?

Formats are not interchangeable, and the differences that matter are usually about what is lost rather than what is kept. Choose by what has to survive the trip: part names, materials, animation, or nothing but watertight geometry.

Precision robotic end effector — exploded concept assembly
Precision robotic end effectorORIGINAL CONCEPT / EXPLODED

The short comparison

FormatKeepsDropsUse it for
GLBNamed nodes, PBR materials, embedded textures, animation, instancingParametric history, CAD tolerancesThe web, engines, sharing one self-contained file
glTFThe same as GLB, with assets as separate filesThe samePipelines where textures are edited separately
OBJGeometry, UVs, material references via .mtlAnimation, hierarchy depth, PBR beyond basicsSimple geometry interchange between modelling tools
STLTriangles. Nothing elseNames, materials, colour, UVs3D printing and mesh analysis
FBXHierarchy, materials, animation, rigsOpenness — it is a proprietary formatGame pipelines, especially older Unity/Unreal ones
USDZHierarchy, materials, animationBroad editing support outside the Apple ecosystemAR 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.

Let’s talk about your sector

What would
you license?

Bring the model, the part you need to change, and the context that matters. Apply for professional early access to Refora.