Guides · · By the usi3d team
STL vs OBJ vs GLB vs 3MF: differences and when to use each 3D file format
For printing, STL is enough for a single-colour part; 3MF is better because it stores units, several objects and filament colours. OBJ and GLB are graphics formats: they keep textures and materials, and GLB also holds animations in a single file. In usi3d's Convert 3D files tool you turn an STL, OBJ or GLB into STL, OBJ, GLB or 3MF in the browser, with no credits.

Key points
- STL: triangles only, with no units or colour. It is the most compatible format for printing single-colour parts.
- 3MF: geometry in millimetres, several objects, filament colours and slicer settings. It is the project format of Bambu Studio, OrcaSlicer and PrusaSlicer.
- OBJ: geometry with textures in separate files (MTL and images), with no reliable units.
- GLB: everything in one file (mesh, materials, textures and animation), in metres with Y up; built for the web, games and augmented reality.
- usi3d's Convert 3D files tool turns STL, OBJ or GLB files up to 30 MB into STL, OBJ, GLB or 3MF in your browser, with no credits.
What a 3D file format is
Almost every model you print is a mesh: a surface made of thousands of triangles. What changes from one format to another is what comes with those triangles: units, colours, textures, several parts, print settings or animations. Choosing well avoids the three most common letdowns: the part that arrives a thousand times too small, the model that loses its colours and the file your program will not open.
STL, OBJ, GLB and 3MF compared
| Format | What it stores | Units | Colour | Typical use |
|---|---|---|---|---|
| STL | Triangles only | Not stored (mm assumed) | No | Printing single-colour parts; sharing on model repositories |
| OBJ | Polygons, normals and texture coordinates; materials in a separate .mtl | Not stored | Yes, with textures in separate files | Exchange between modelling programs |
| GLB | Mesh, materials, textures, skeleton and animation in a single file | Metres, Y up | Yes, materials and textures | Web, viewers, games and augmented reality |
| 3MF | Several parts, per-face colours, materials and slicer settings | Declared (mm by default) | Yes, filament colours | Print projects and multicolour parts |
STL: the most compatible and the most basic
STL was born in the late 1980s alongside stereolithography and is still the format every slicer accepts. It stores a list of triangles, in binary or text (ASCII) form, and nothing else. It has no units: by convention it is read in millimetres, but if the author exported in inches the part arrives 25.4 times too small. Nor does it store colour, so a painted figurine loses its paint when saved as STL.
OBJ: the veteran of 3D graphics
OBJ supports polygons with more than three sides, normals and texture coordinates. Materials live in a separate .mtl file and textures in loose images: send only the .obj and it arrives without colour. Almost every modelling program opens it, as do many slicers, though they only read the geometry.
GLB: one file with everything
GLB is the binary form of glTF 2.0, the Khronos Group standard for bringing models to the web. It packs the mesh, materials, textures and, if present, the skeleton and animations into a single file. Its units are metres and its vertical axis is Y, whereas printers work in millimetres with Z up: hence the many models that turn up lying on their side or tiny when imported. The models usi3d creates with AI are viewed as GLB, with their texture.
3MF: the format designed for printing
3MF is maintained by the 3MF Consortium, made up of printer and software makers. It is a ZIP with XML files inside: it declares units, stores several parts with their positions, colours and materials and, in Bambu Studio, OrcaSlicer or PrusaSlicer projects, the plate and settings too. For a multicolour part it is the format you need, as we explain in how to paint a 3D model in several colours.
When to use each format
- Printing a single-colour part: STL or 3MF. 3MF avoids unit mix-ups and is smaller because it is compressed.
- Printing in several colours with an AMS, MMU3 or other feeder: 3MF, with the filament painting.
- Keeping your slicing work or sending it to someone with your settings: your slicer's project 3MF.
- Showing the model on a website or in an augmented reality viewer: GLB.
- Carrying on editing in Blender or another program with its textures: GLB, or OBJ with its .mtl and images.
- A mechanical part you are going to modify: ask for the original CAD file (STEP, for instance). A mesh does not keep exact dimensions or curves.

How to convert a 3D file with usi3d
Open the file
Go to Convert 3D files and choose or drop a self-contained STL, OBJ or GLB of up to 30 MB and 750,000 triangles. It is processed in your browser and uses no credits.
Set the source units
For STL and OBJ, choose whether the original was in millimetres, centimetres or metres. A GLB needs nothing: its units and Y axis are read automatically, and one without a real size, like those from Text and Image to 3D, is set to 120 mm tall.
Check the part
Rotate the model in the viewer and look at the dimensions in millimetres and the triangle count. If a figurine meant to be 10 cm tall reads 1,000 mm, the source units are wrong.
Choose the format and download
Download as STL, OBJ, GLB or 3MF. GLB keeps supported materials and 3MF keeps solid colours where possible.
What you lose when converting
Going from a rich format to a basic one always loses something. From GLB to STL the texture, materials and animation disappear; usi3d's converter also asks for a GLB without a skeleton or animations, so export it in a fixed pose first. From OBJ to STL you lose the colour. The other way round you gain nothing: an STL converted to GLB stays colourless until you paint it.
To turn the texture of an AI-made model into filament colours, use Colours and filament: it groups the shades into the spools you own and exports a colour 3MF. And if you see holes or odd faces when opening any file, run it through Repair an STL model first; the details are in how to repair an STL.
Which formats usi3d delivers
Models you create with Text to 3D or Image to 3D download as STL, GLB and 3MF, and as a ZIP. The 3MF holds the geometry in millimetres, without colour; to get the colours into your slicer, paint the GLB in Colours and filament and download the colour 3MF from there.
If any term in this article is new to you, such as normal, mesh or slicer, it is explained in the 3D printing glossary. And if your printer cannot find the file on the card or USB stick, see the guide to the file not showing up on the printer.
Frequently asked questions
What is the difference between STL and 3MF?
STL stores only triangles, with no units or colour. 3MF declares its units, supports several parts, filament colours and slicer settings, and is compressed.
Which file format is best for 3D printing?
3MF, because it avoids unit errors and keeps colours and settings. STL is still fine for single-colour parts and is the most compatible.
Can you 3D print a GLB file?
The usual route is to convert it to STL or 3MF first, the formats every slicer reads. When you do, bear in mind that GLB is in metres with the Y axis up.
How do I convert a GLB to STL for free?
With usi3d's Convert 3D files tool: open the GLB, check the dimensions and download it as STL. It runs in the browser, with no credits, for files up to 30 MB.
Why is my STL tiny or huge in the slicer?
Because STL stores no units. If it was exported in metres or inches, the slicer reads it as millimetres; scale it (×1,000 or ×25.4) or convert it stating the source units.
Does OBJ keep colours?
Yes, with a separate .mtl materials file and the texture images. If you only send the .obj, the model arrives without colour.