Blog · Format primers
What is a 3MF file? The modern replacement for STL
A 3MF file is a 3D model packaged for printing — geometry, materials, colours, supports, and slicer settings all bundled into one file. It was designed to be the format STL should have been if STL had been designed in 2015 instead of 1987. Bambu Studio, PrusaSlicer and OrcaSlicer all use 3MF as their native project format.
The short version
3MF stands for "3D Manufacturing Format". It is a modern, XML-based, ZIP-packaged file format for 3D printing. Compared to STL, it adds units, colour, materials, build settings, multi-part assemblies, and a sensible extension mechanism for storing slicer-specific data — all in a single file.
The format was created in 2015 by Microsoft and the 3MF Consortium, a deliberately broad alliance that includes HP, Autodesk, Dassault Systèmes, Materialise, Shapeways and Siemens. Industry-wide adoption was a design goal from day one, and by 2026 it shows: every major slicer reads 3MF, and the popular ones (Bambu Studio, PrusaSlicer, OrcaSlicer) write it by default.
Why 3MF exists
By the early 2010s, several things had become awkward about STL:
- Multi-material FDM printers were arriving (Prusa's MMU, then later Bambu's AMS). STL could describe the geometry of a multi-material part but not which material went where.
- Resin printers were becoming mainstream but had no way to communicate per-region exposure settings.
- Full-colour SLA and binder-jet machines existed but had to bolt colour onto STL through non-standard hacks.
- STL had no units, which silently corrupted any model that crossed an inch-vs-millimetre boundary.
- Slicers were doing more and more — tree supports, organic infill, painted seam locations, modifier meshes — and none of it could be saved alongside the model in any standard way.
Microsoft proposed 3MF in May 2015 specifically to solve these problems together. Crucially, they paired the technical specification with a consortium of major printer manufacturers and software vendors. By the time the format was launched, the major players had already agreed to support it. That's the main reason 3MF actually caught on where similar attempts had not.
What's inside a 3MF file
A 3MF file is, physically, a ZIP archive following the Open Packaging Conventions (the same OPC layout that Microsoft Office uses for .docx, .xlsx and .pptx). Rename a .3mf file to .zip and you can open it with any archive tool. Inside, you'll find something like:
[Content_Types].xml _rels/.rels 3D/3dmodel.model 3D/Textures/colour-map.png 3D/Textures/normal.png Metadata/thumbnail.png Metadata/print-config.xml
The actual model lives in 3D/3dmodel.model, an XML file describing the scene. A minimal example:
<model unit="millimeter" xmlns="...">
<resources>
<basematerials id="1">
<base name="PLA" displaycolor="#FFFFFFFF"/>
</basematerials>
<object id="2" type="model" pid="1" pindex="0">
<mesh>
<vertices>
<vertex x="0" y="0" z="0"/>
<vertex x="10" y="0" z="0"/>
... more vertices ...
</vertices>
<triangles>
<triangle v1="0" v2="1" v3="2"/>
... more triangles ...
</triangles>
</mesh>
</object>
</resources>
<build>
<item objectid="2"/>
</build>
</model>
The XML cleanly separates concerns: materials live in a resource block and are referenced by ID, the mesh is a list of vertices and triangles, and the build section says which objects are placed on the print plate. Everything is namespaced so extensions can add new capabilities without breaking older readers.
What 3MF adds over STL
- Units. The
unitattribute on<model>is mandatory — usuallymillimeter. No more 25.4× scale surprises. - Materials and colour. Per-object material assignment plus colour, optionally textures. Supports multi-material printers natively.
- Multi-part assemblies. A single 3MF can contain many objects, each placed independently on the build plate.
- Build instructions. The build section says where each part goes, at what orientation, in what order.
- Production extensions. Supports, infill, seams, beam-lattice infill, and slicer-specific settings can all be expressed through extensions.
- Thumbnails. A preview image embedded in the file metadata so file browsers can show what's inside without parsing geometry.
How slicers use 3MF
For Bambu Studio, PrusaSlicer and OrcaSlicer, 3MF is the native project format. When you save a "project" in any of these, you're writing a 3MF with that slicer's extension namespace. Reopen the same file and you get the parts, the orientation, the supports, the per-object settings, and the slicer-specific painted regions exactly as you left them.
Open the same 3MF in a different slicer and you get the geometry, units, and base materials — but typically not the slicer-specific extensions. That's intentional; the format keeps a clean baseline and lets slicers layer their own data on top. The geometry round-trips losslessly.
When to use 3MF
- You're sharing a multi-colour or multi-material print and want the material assignments preserved.
- You want to send not just the model but a complete print job — orientation, supports, infill, seam locations — to a friend with the same printer.
- You're publishing on Printables, MakerWorld, or Bambu Studio's MakerWorld, which all encourage 3MF over STL.
- You're archiving your own designs and want a self-contained snapshot of the print as you actually configured it.
When STL might still be better
- You're targeting the broadest possible audience including older or less-maintained software.
- You want a strictly geometry-only export — a 3MF carries metadata you may not want to ship.
- Some older or specialised slicers still read STL more reliably than 3MF.
How to view a 3MF file
- In your browser: drop it into open3d.app/viewer.
- Native: Bambu Studio, PrusaSlicer, OrcaSlicer all open 3MF as a full project (with their respective extensions decoded).
- 3D Builder on Windows handles 3MF natively — Microsoft created the format.
- Cura imports 3MF as geometry.
- Blender: via the 3MF importer add-on.
FAQ
What does 3MF stand for?
3D Manufacturing Format — chosen to signal that the file isn't just a model description but everything a manufacturing process needs: materials, supports, build settings.
Why did Microsoft create 3MF?
STL had no answer for multi-material, colour, units or build settings — and those gaps were starting to matter as printers became more capable. Microsoft proposed 3MF in 2015 with the 3MF Consortium (HP, Autodesk, Dassault, Materialise, Shapeways, Siemens) to make sure adoption was broad from the start.
Is 3MF actually a ZIP file?
Yes — Open Packaging Conventions ZIP archive. Rename .3mf to .zip and you can inspect the contents: an XML manifest, the 3D model XML, optional textures, optional thumbnails.
Can 3MF store slicer settings?
Yes, through extensions. Bambu Studio, PrusaSlicer and OrcaSlicer all save per-object settings into the 3MF so reopening recovers the full print configuration.
Should I use STL or 3MF in 2026?
For new exports, 3MF is the better default. It's smaller, has units, handles multi-material, and is preferred by modern slicers. STL stays the safest choice when you don't know the recipient's software.