3MF to STL converter
Drop your .3mf file — we convert it to .stl right in your browser. Files never leave your computer.
Why convert 3MF to STL?
Modern 3MF files from Bambu Studio or PrusaSlicer are richer than the slicers and services a lot of people actually use. Stripping a 3MF down to STL is the compatibility move — when a print service accepts only STL, or when the CAM side of a shop still runs a 2018-era tool.
Who runs this conversion
Makers using older slicers (pre-3MF Cura, ancient Simplify3D), print services with STL-only upload forms, and anyone converting a Bambu / Prusa file for wider compatibility with third-party tooling.
Things that commonly go wrong
- Colour and material information drops silently — STL has no field for it. Multi-material 3MFs print as a single colour.
- Multi-object 3MF packages merge into a single STL mesh; split first if you need separate parts.
- Unit metadata drops. The numbers stay the same but the consumer tool has to assume millimetres.
Technical note for this tool
Three.js 3MFLoader unzips the package client-side, we flatten all bodies into one BufferGeometry, then STLExporter writes binary STL.
3MF vs STL— what's the difference?
Modern successor to STL for 3D printing — carries units, colours, materials, and multiple bodies in a zipped XML package.
- Real-world units baked in (no more "is this mm or inches?")
- Multi-material, multi-colour, and per-body metadata
- Compact zipped payload — smaller than equivalent STL
- Not every slicer reads 3MF yet (most do now — Bambu, Prusa, Cura)
- Less tooling for mesh editing compared to STL
Triangle-mesh format that every 3D printer slicer understands. Geometry only — no units, colours, or assemblies.
- Universal 3D printing format — Cura, PrusaSlicer, Bambu Studio all speak STL
- Tiny, simple, extremely fast to load
- Great for meshing workflows, simulation pre-processors, quick previews
- Triangulated approximation — curved surfaces lose precision
- No colour, material, or assembly data
- One shell per file by convention (multi-body gets flattened)
Deeper context on the formats
3MF — where it came from
The 3MF Consortium (Microsoft, HP, Autodesk, Dassault, Shapeways, and others) published version 1.0 in 2015 specifically to replace STL's forty-year-old limitations. Bambu Studio and PrusaSlicer adopted it aggressively because it is the only portable way to ship multi-colour / multi-material print projects.
- The format is zipped XML — renaming .3mf to .zip and inspecting the contents is fair game for debugging.
- Extensions (materials, slice, production) are optional; a slicer may read the geometry but drop the colour metadata.
- Some slicers treat "print-ready 3MF" (baked supports and toolpaths) differently from "design 3MF" (just the mesh). Check the export dialog for the right flavour.
Real-world use: Multi-material Bambu X1C / A1 prints, Prusa MMU workflows, paint-by-face colour printing (PrusaSlicer, Bambu Studio), and Windows 3D Builder. Anywhere an STL would lose information, 3MF has quietly taken over.
STL — where it came from
Invented by 3D Systems in 1987 for the first commercial stereolithography machine (hence the name — "STereoLithography"). It was supposed to be a throwaway internal format; nearly four decades later it is still the default hand-off between CAD and every slicer on the market, simply because nothing else got universal support in time.
- STL has no units — a file authored in inches and re-opened in a metric slicer prints at 1/25.4 scale. Always confirm the source units before slicing.
- Non-manifold meshes (holes, flipped normals, internal walls) slice silently but print as unsolvable garbage. Run the mesh-repair tool before wasting filament.
- ASCII STL is ~5× larger than binary STL with zero benefit — always export binary unless you specifically need to diff the file.
Real-world use: Every FDM and SLA slicer (Cura, PrusaSlicer, Bambu Studio, Lychee, Chitubox) reads STL as a first-class input. Simulation pre-processors (Ansys, Abaqus) also consume STL for meshing. Fabrication-on-demand services (Shapeways, JLCPCB's 3D print arm, Protolabs) accept STL uploads directly.
How to convert 3MF to STL
- 1Drop a .3mf file. Multi-body 3MFs are fine — all bodies get packed into one STL.
- 2Preview the model in 3D. Check the Scene Tree to confirm every body is included.
- 3Click Download .STL. Open in any slicer, even old ones that don't read 3MF.
FAQ
Why go 3MF → STL? 3MF is newer and better.
Agreed — for modern workflows, keep 3MF. Convert when: your slicer is old, you're sending to a print service that only accepts STL, or you need to edit in a tool that doesn't read 3MF yet.
Will multi-material / multi-colour data survive?
No. STL carries geometry only. Colours, materials, and per-body metadata from the 3MF are dropped. If colour matters, keep the 3MF.
What about units?
3MF stores real-world units; STL does not. We preserve the numeric coordinates so the resulting STL is the correct size if your slicer assumes millimetres (which most do).
Multi-body 3MFs — does each body become a separate STL?
No, they get merged into one STL file (STL has no multi-body concept). If you need per-body STLs, split the bodies in your CAD / slicer first.
Is my 3MF uploaded anywhere?
No. Three.js' 3MFLoader unpacks the zip in your browser and the STL is re-exported locally.