MeshFormat

Choosing between STL, 3MF and STEP

These three cover most of what people actually send each other, and they fail in completely different ways.

STL

A list of triangles with no units, no colour and no structure. Its virtue is that nothing can go wrong in interpretation: every slicer built in the last thirty years reads it identically.

Its weaknesses show up the moment you need anything beyond a shape. There is no way to say "this is in millimetres", no way to mark two bodies as separate parts, and no way to attach a colour. Files are also larger than they need to be, because every triangle repeats its three vertices in full.

Use it when the receiving end is a slicer and the part is a single solid body.

3MF

A zipped XML package. It fixes the obvious gaps: real units, multiple objects, colours, materials, and production metadata such as build plate placement and supports. Modern slicers treat it as the native format, and Bambu Studio and PrusaSlicer both save projects as 3MF.

The cost is that it is a container rather than a simple file. If a tool claims 3MF support it might read geometry only and ignore the colour and material extensions, so verify rather than assume.

Use it whenever both ends are current printing software, especially for multi material or multi part prints.

STEP

The only one of the three that stores exact geometry. Curves stay curves, and a hole is a real cylindrical face rather than a ring of facets. It is the format for anything that will be machined, revised or archived for years.

The cost is complexity. STEP files are large, they take longer to load, and translation quirks between kernels are a real category of engineering problem. STEP also carries no print settings and, in practice, inconsistent colour support.

Use it for mechanical parts moving between CAD systems, and for anything you expect to edit later.

Quick decision list

  • Printing a single body, any slicer: STL.
  • Printing with colours, several parts or saved settings: 3MF.
  • Manufacturing, machining or long term storage: STEP.
  • Publishing to the web or AR: neither, use GLB.

The direction that hurts

Going from STEP down to STL or 3MF is lossless in the sense that matters: the shape you approximate is the shape you asked for, and you control the tolerance. Going the other way, from mesh up to STEP, cannot restore curvature. Plan your pipeline so the exact model stays the source of truth, and treat meshes as derived artefacts.