3D file formats
Every 3D format makes a different trade — printing vs the web, geometry vs materials, simple vs self-describing. Here's what each of the common ones actually stores, in plain English, so you can tell which file you have and which you want.
The 3D-printing standard — bare triangles, no color, no units.
The interchange lingua franca — plain-text mesh, with a .mtl for materials.
The web & AR bundle — mesh, materials and animation in one binary.
The open standard — GLB's readable JSON twin, “the JPEG of 3D.”
STL's modern successor — color, units and multiple parts in one file.
The formats side by side
| Format | What it stores | Units | Colour | Animation | Best for |
|---|---|---|---|---|---|
| STL | Triangles, nothing else | None | No | No | 3D printing |
| OBJ | Mesh + UVs, materials in a .mtl | None | Via .mtl | No | Moving meshes between apps |
| GLB | Mesh, PBR materials, textures, rig | Metres | Yes, embedded | Yes | Web, AR, game engines |
| glTF | Same as GLB, as JSON + side files | Metres | Yes | Yes | Inspecting or hand-editing |
| 3MF | Mesh, parts, print data | Declared | Yes | No | Modern 3D printing |
“Units” is the row that causes the most grief: STL and OBJ store bare numbers and leave the unit to whatever opens them, glTF and GLB are defined in metres, and only 3MF writes the unit into the file. A model that looks 25× too small usually means inches were read as millimetres.
Common questions
- What is the most universal 3D file format?
- It depends which world you are in, and that is the honest answer: STL is universal in 3D printing — every slicer and print service reads it — while OBJ is the safest bet for moving a mesh between 3D applications, and GLB is the standard for the web, AR and game engines. No single format is universal across all three, which is why file conversion is a routine step rather than a sign something went wrong.
- Which 3D file format should I use for 3D printing?
- 3MF if your slicer supports it (all current ones do): it stores units, colour and multiple parts, so a model cannot arrive at the wrong scale. STL remains the safe fallback for older tools and upload forms that only accept triangles.
- Why does the same model open at a different size in different programs?
- Because most 3D formats store bare numbers and leave the unit to the reader. STL and OBJ declare no unit at all, slicers assume millimetres, and glTF/GLB specify metres — so a model that is 180 units tall is 180 mm in a slicer and 180 m in a game engine. 3MF is the exception: it writes the unit into the file.
Want to do something with a file rather than read about it? Open one in the free 3D viewers, or change its format with the 3D file converters — all in the browser.
Make a 3D model
Describe it or drop in a photo — Sculptor generates a 3D model and exports it as GLB, STL, OBJ and more.
Generate a 3D model