If you use OrcaSlicer, Bambu Studio, or PrusaSlicer, you have probably noticed that the default "Save project" no longer hands you an STL. It hands you a 3MF. Meanwhile almost every model you download from Thingiverse or a mesh generator is still an STL. So which one should you actually be using, and does it matter?
The short version: STL is a bare triangle mesh with nothing attached, and 3MF is a small archive that wraps that same geometry together with units, and optionally color, multiple parts, a thumbnail, and even your full slicer configuration. This post breaks down what each format really is, when each one is the right call, and how Meshra lets you export both from the same part so you never have to commit to a lane.
What is the difference between 3MF and STL?
STL stores only a surface: a long list of triangles with no units, no color, and no metadata. 3MF stores that same triangle geometry inside a zipped XML container that also declares its units and can carry color, multiple objects, a preview thumbnail, and slicer settings. Both describe a mesh, but 3MF describes a whole project while STL describes a shape.
An STL file (stereolithography, from the 1980s) is deliberately minimal. It is a set of triangular facets approximating the outer skin of a part, and that is all. It does not record whether those coordinates are millimeters or inches, so a slicer or CAD tool has to guess (this is the classic "my part imported at 1/25th scale" bug). It cannot hold color, cannot hold more than one object cleanly, and carries no thumbnail or notes.
3MF (3D Manufacturing Format) was designed in the 2010s specifically to fix those gaps.
Under the hood a 3MF is a ZIP archive: a 3D/3dmodel.model XML file with the geometry,
plus supporting files for content types and relationships. Because it is structured XML
in a compressed container, it can declare its units unambiguously, store per-object or
per-triangle color, pack several parts and their arrangement on the plate, embed a
preview image, and (when your slicer writes it) tuck away the printer profile, filament
profile, supports, and paint you set up.
Is 3MF better than STL for 3D printing?
For most modern printing workflows, yes: 3MF is smaller, carries defined units so nothing imports at the wrong scale, and can hold color and print settings that an STL throws away. STL wins only on raw universality, since it is the one format that essentially every tool ever made can open.
The reason the major slicers switched their default is that 3MF removes whole categories of error. Units are explicit, so a shared model opens at true size every time. Multi-color and multi-material assignments survive, so a painted model stays painted. And a "project 3MF" saved from your slicer keeps your supports exactly where you placed them, your plate layout, and your tuned print profile, so reopening it later (or handing it to a friend with the same printer) reproduces the print instead of just the shape. On file size, 3MF's compressed binary mesh is typically a good deal smaller than the equivalent ASCII STL.
That said, STL is not going away. It is the safe common denominator: an older machine, a print-service upload form, a model marketplace, or a one-off simple part are all places where STL is still the frictionless choice. If you only need to move a plain shape from A to B and both ends might be old, STL just works.
What is the difference between a geometry 3MF and a project 3MF?
A geometry 3MF (also called a Core 3MF) contains only the model and its units, nothing else. A project 3MF is what your slicer saves: the same model plus your printer profile, filament, supports, paint, and plate layout baked in. They share a file extension but carry very different amounts of information.
This trips up a lot of makers. When a CAD tool or generator exports a 3MF, you get the clean geometry with its units declared, ready to slice. When you then open it in OrcaSlicer or PrusaSlicer, paint it, add supports, dial in your settings, and hit save, the slicer writes a much richer project 3MF. Both are valid 3MF files. Knowing which one you are sharing matters: send a geometry 3MF and the recipient sets up their own print; send a project 3MF and they inherit yours.
3MF vs STL at a glance
| | STL | 3MF | |---|---|---| | What it stores | Triangle mesh only | Triangle mesh in a structured container | | Units | None (tool must guess) | Declared explicitly, no scale surprises | | Color and materials | No | Yes (per object or per triangle) | | Multiple parts and plate layout | Clumsy at best | Native | | Print settings and supports | No | Yes, in a slicer-saved project 3MF | | Thumbnail and metadata | No | Yes | | Typical file size | Larger (ASCII) | Smaller (compressed) | | Compatibility | Universal, every tool | Modern slicers and CAD, growing fast |
When should you use STL instead of 3MF?
Reach for STL when maximum compatibility matters more than richness: uploading to a print-on-demand service or model marketplace, feeding an older slicer or printer, or sharing a single plain part with someone whose toolchain you do not know. It is the format nothing refuses.
Use 3MF whenever your tools support it and the print is more than a bare single shape: multi-color or multi-material models, multi-part plates you want arranged a certain way, or any time you want units locked in and your print setup to travel with the file. In a current Bambu, Orca, or Prusa workflow, "3MF first, STL as the fallback" is a sound default.
One thing neither format solves: both are meshes. A triangle mesh, however well packaged, is a frozen approximation of a surface, not editable engineering geometry. If you need to change a dimension cleanly later or hand a part to a machine shop, you want exact geometry (a STEP file) or, better, a parametric source. That trade-off is the subject of our companion guide, STL vs STEP: which file format your project actually needs, and the deeper reason it matters is covered in parametric vs mesh modeling.
How Meshra gives you 3MF and STL from the same part
Because Meshra never generates a mesh to begin with, you are not forced to choose a format up front. When you describe a part, Meshra writes real parametric CAD code (CadQuery on the OpenCascade kernel) and builds it into an exact solid. Every export is then just one view of that one solid.
From a single part, the export menu offers STL for slicers and 3D printing, 3MF for the modern slicer workflow, STEP for CNC quoting and CAD interchange, and GLB for the web. Meshra's 3MF carries the same triangle mesh as its STL export, in the smaller, more modern 3MF container, with the geometry declared in millimeters so your slicer never guesses the unit. Open it in OrcaSlicer, Bambu Studio, or PrusaSlicer, then add your supports, paint, and profile and save the slicer's own project 3MF from there.
And because the underlying part stays parametric, every dimension Meshra recognizes becomes a slider. If a printed part comes out a hair too tight, you drag the value and the same code re-executes deterministically with the new number: no new AI call, and free on every plan. Get the fit right, then export 3MF for the printer and STEP for the shop, both from the same source, both current.
Frequently asked questions
Is 3MF smaller than STL? Usually, yes. 3MF stores its mesh as compressed binary data inside a ZIP container, so it is typically smaller than the same model saved as an ASCII STL. The gap narrows against binary STL but 3MF still tends to win, and it packs in more information.
Will 3MF work with my printer? 3MF is opened by every current mainstream slicer, including OrcaSlicer, Bambu Studio, PrusaSlicer, and Cura, and the slicer is what talks to your printer. If your slicer is a few years out of date, update it or fall back to STL.
Can I edit a 3MF file's shape? Not meaningfully. Like STL, 3MF is a mesh, so you are limited to mesh-level operations, not clean dimensional edits. To change a dimension properly, start from exact geometry (STEP) or a parametric part and re-export.
Does Meshra export 3MF? Yes. 3MF sits alongside STL, STEP, and GLB in the export menu for every part, and there is a one-click ZIP if you want all formats at once.
Should I share a geometry 3MF or a project 3MF? Share a geometry 3MF if you want the recipient to set up their own print, and a project 3MF (saved from your slicer) if you want them to inherit your exact supports, paint, and settings.
Ready to make a part you can export as 3MF, STL, STEP, and GLB from one description? Generate your first part free, or browse the template gallery for parts you can derive and export right now, no prompt required.
