The short answer
3MF is the better format and STL is the safer bet, so accept both and prefer 3MF. STL stores bare triangles: no units, no colour, no object names, no settings. 3MF stores the same mesh inside a compressed container that also carries real-world units, colour, multiple named objects and slicer settings. For a printing service the decisive difference is units - an STL that arrives at the wrong scale looks exactly like one at the right scale, and you will not find out until the print is wrong.
| STL | 3MF | |
|---|---|---|
| Geometry | Triangle mesh | Triangle mesh |
| Units / scale | None - ambiguous | Declared explicitly |
| Colour | No | Yes, per object or per face |
| Multiple objects | Merged into one | Kept separate and named |
| Print settings | No | Yes |
| File size | Larger | Smaller (compressed) |
| Tool support | Universal | Very good, not universal |
What STL leaves out
An STL file is a list of triangles, each defined by three corner points and a normal. That is the entire specification. It has no header for units, so a cube whose corners are 20 apart could be 20 mm, 20 cm or 20 inches - the file does not say. In practice everyone assumes millimetres and mostly gets away with it, but "mostly" is doing a lot of work in a quoting workflow: a model exported from a tool that defaults to inches arrives 25.4× too large, and the only clue is that the price looks absurd.
STL also has no concept of a part. Send five components as one STL and they become one mesh with five disconnected islands. Nothing records that they were separate, what they were called, or how they were meant to sit on the plate.
And because it is just a triangle soup with no topology, an STL can be geometrically invalid in ways the format cannot detect: holes, flipped normals, self-intersections, duplicate vertices. A mesh that is not watertight has no well-defined volume, which means it has no well-defined weight, which means it cannot be priced reliably until it is repaired.
What 3MF adds
3MF ("3D Manufacturing Format") is a ZIP archive containing XML. That sounds like a technicality and is actually the whole point: a container can hold things a flat triangle list cannot.
- Units, declared. The model carries its own unit, so scale is not a guess.
- Separate, named objects. Five parts stay five parts, with names and their own transforms.
- Colour. Per object or per triangle, without a second file riding alongside.
- Print settings. Layer height, infill, supports and material assignments can travel with the model.
- Compression. A 3MF is routinely a fraction of the equivalent STL, because XML in a ZIP compresses far better than a verbose triangle list.
This is also why project files from Bambu Studio, OrcaSlicer, PrusaSlicer and MakerWorld are 3MF underneath. When a customer sends you a "Bambu project", they are sending you a 3MF that happens to describe a whole multi-plate job - several plates, many named parts, per-part colours and the settings the designer chose.
When STL is still the right answer
Universality. Every mesh tool, every slicer, every scanner, every ancient CAD seat exports STL. Some do not export 3MF at all. If you accept only 3MF you will lose quotes from people whose software cannot produce it, and you will lose them silently - they will not email to explain, they will leave.
STL is also perfectly adequate when the model is a single part, already in millimetres, printed in one colour, from a customer who knows what they are doing. That describes a great deal of real work.
Which to ask customers for
Accept both, and phrase the ask so the better format wins by default: "Upload STL or 3MF - 3MF preferred, since it keeps your scale, colours and separate parts." That single sentence converts a meaningful share of uploads to the format that needs no clarifying email.
If you serve engineering customers, add STEP to the list - see STEP vs STL for why a CAD format behaves differently again, and CAD vs STL if you are deciding what to export in the first place.
Why this matters for quoting
Every automated price starts from geometry: volume gives you material, bounding box and surface area feed print time, and both depend on the model being the size the customer thinks it is. With 3MF, scale is stated. With STL, scale is inferred - so a quoting system either assumes millimetres, or asks the customer to confirm dimensions, which defeats the point of instant quoting.
The practical consequence is that 3MF uploads need fewer human interventions per order. That is the number worth watching, more than any property of the file format itself.
Accept both, price both instantly
Filaquote reads STL and 3MF directly in the customer's browser, so the price appears as soon as the file lands - no upload wait, no server round trip. 3MF and Bambu Studio / OrcaSlicer / PrusaSlicer / MakerWorld projects keep their structure, including multi-plate selection and per-part colour assignment. STEP and OBJ are handled too.
Add to Shopify→FAQ
Is 3MF better than STL?
For printing, yes. 3MF stores the same geometry plus real-world units, colour, multiple separate objects and print settings, and it is usually a smaller file. STL's only remaining advantage is that every tool ever written can open it.
Should I ask customers for 3MF or STL?
Accept both and prefer 3MF. Asking only for 3MF turns away anyone whose software cannot export it, and asking only for STL throws away the scale and part information you would otherwise get for free.
Is 3MF the same as STL?
No. Both describe a triangle mesh, but STL stores only that mesh, while 3MF is a compressed container that also holds units, colour, object names, multiple objects and slicer settings.
Can a 3MF file hold more than one object?
Yes, and this is one of the biggest practical differences. A single 3MF can contain many separate named objects, arranged across multiple build plates. An STL flattens everything into one anonymous triangle soup.