Compared

STL vs 3MF vs OBJ vs STEP

Published · How we check our guides

Short answer

STL is the universal shape-only format. 3MF is its modern replacement: units, colours, several objects and slicer settings in one file. OBJ adds colours and textures but no units. STEP keeps exact CAD curves for editing. For printing, share 3MF or STL; for editing, keep STEP.

The formats side by side

FeatureSTL3MFOBJSTEPGLB / glTF
Shape stored asTrianglesTrianglesPolygonsExact curves (CAD)Triangles
UnitsNoYesNoYesMetres
ColoursNoYesYes (with .mtl)SometimesYes
Several objectsMerged into oneYesYesYes (assemblies)Yes
Print settingsNoYes (slicer projects)NoNoNo
Editable in CADBarelyBarelyBarelyYesNo
File sizeLargeSmall (zipped)LargeMediumSmall
Opens in every slicerYesMostlyYesSomeNo

STL: the one everything opens

STL dates from 1987 and holds nothing but triangles. No units (slicers assume millimetres, which is why some files open 25.4 times too small), no colour, no names. Every slicer, CAD program and model site understands it, so it’s still the safe choice for sharing a single-colour part. Look at one in the STL viewer, or repair one that won’t slice.

3MF: the modern replacement

3MF was created by the 3MF Consortium (founded by Microsoft and others in 2015) to fix STL’s gaps. It’s a zip folder with the mesh stored once per corner, the unit, colours and materials, several named objects, and room for slicer data. Bambu Studio, PrusaSlicer and OrcaSlicer save whole projects as 3MF: plates, painted colours, supports and settings. It’s typically 3–4 times smaller than the same mesh as STL.

The catch: slicers each add their own extras, and not all of them read each other’s. A Bambu Studio project can open empty in Cura (here’s why and the fix). When in doubt, convert 3MF to STL for the other slicer, or pack STLs into one 3MF to share a set of parts.

OBJ: colours and textures

OBJ comes from 3D graphics. It stores polygons, and with its companion .mtl file, colours and texture images. Like STL it has no units. It’s common for scans, game assets and anything made in Blender. Slicers read the shape; colour printers can use the colours via 3MF. Use the OBJ viewer to check one, or convert OBJ to STL.

STEP: for editing, not printing

STEP (.step, .stp) is the CAD exchange format. It stores the exact geometry, so a hole is a true circle and you can change its size later in Fusion, FreeCAD, SolidWorks or Onshape. Slicers have to turn it into triangles first. Keep the STEP as your master file and export STL or 3MF for printing. See how to open a STEP file for 3D printing.

GLB and glTF: for screens

glTF and its single-file version GLB are made for showing 3D on the web and in apps and games: textures, materials, animations, in metres. They’re not meant for printing, and most slicers don’t open them (Cura is an exception), but they’re what many online 3D model and AI 3D tools give you. Convert GLB to STL to print one.

Which should I use?

  • Sharing a print-ready model: 3MF, plus an STL for people on older software.
  • Multi-colour or multi-part prints: 3MF.
  • Something you or others will modify: STEP, alongside the 3MF or STL.
  • Scans and textured models: OBJ or GLB as the source, converted for printing.