3MF vs STL: Which File to Use for Multicolour 3D Prints
STL stores only shape; 3MF adds units, colours, parts and print settings. When to use each, how to print a photo in multicolour, and how to convert.
By Moazzam Qureshi, founder of UpAgents5 min read
In short: An STL file stores only a model's shape, as triangles with no units and no colour. A 3MF file stores the shape plus units, colours, separate parts and, from a slicer, print settings. Use STL for single-colour parts that must open anywhere. Use 3MF for multicolour prints on a Bambu Lab AMS, Prusa MMU or Creality CFS.
What is an STL file?
STL is the oldest and most common 3D printing format. It was developed in 1987 for 3D Systems' first stereolithography printers and describes a surface as a list of triangles. That's all it holds: no units (slicers assume millimetres), no colour, no materials and no way to say which triangles belong to which part. Every slicer and modelling program opens it, which is why most downloadable models are STLs.
What is a 3MF file?
3MF (3D Manufacturing Format) is a newer format published by the 3MF Consortium, formed in 2015 (the first version came out on 29 April 2015) and now standardised as ISO/IEC 25422:2025. A 3MF file is a ZIP package of XML files. It stores the mesh plus real units, colours and materials, several objects in one file, and metadata. Bambu Studio, PrusaSlicer and OrcaSlicer also save whole projects as 3MF: the plate layout, which filament each part uses, and the print settings.
3MF vs STL compared
| STL | 3MF | |
|---|---|---|
| Shape (triangle mesh) | Yes | Yes |
| Units | None (assumed mm) | Stored (mm, inches and more) |
| Colour and materials | No | Yes |
| Several parts in one file | No (one mesh) | Yes |
| Print settings and plate | No | Yes, when saved by a slicer |
| File size | Large (binary triangles) | Smaller (compressed ZIP) |
| Opens in | Everything | All current slicers |
| Best for | Single-colour parts, sharing models | Multicolour prints, projects |
Which file should you use?
- One colour, one part: STL. It opens in every program and nothing is lost.
- Several colours on a multi-material printer: 3MF, with each colour as its own part, so your slicer can map each part to a filament slot.
- Sending a ready-to-print job to someone with the same printer: a project 3MF, so they get your settings too.
- Editing the shape in a modelling program: STL or OBJ; most mesh editors ignore 3MF colours anyway.
How do you make a multicolour 3D print from a photo?
There are three common routes, and they give very different results.
- A colour-split 3D model. An AI image-to-3D tool builds a textured model of the subject. The texture is then reduced to the number of filaments you have (four on one AMS unit) and the mesh is split into one part per colour, saved as a 3MF. In the slicer, each part gets a filament slot. This is how you get a multicolour figurine of a pet.
- A layered filament painting. Apps such as HueForge stack very thin layers of different filaments so they blend into the photo's tones. The print is a flat panel, viewed from the front, and it prints on single-extruder printers with planned filament swaps.
- Flat colour regions. The photo is simplified into a few flat colours, each extruded as its own layer, like a keychain or a badge. MakerWorld's MakerLab offers this for keychains.
Whatever the route, the multicolour file has to be a 3MF (or an OBJ with materials). An STL carries one shape and one colour.
Things to check before a multicolour print
- The colour count fits your printer. 4 slots on an AMS or a CFS, 5 on a Prusa MMU3. Extra colours need manual swaps.
- Parts don't overlap. Overlapping colour parts confuse the slicer about which filament prints where.
- Each part is watertight. A part with holes slices badly even when the whole looks fine. See how to check an STL before printing.
- Purge waste is acceptable. Each colour change on each layer purges filament into a prime tower or a waste chute. Fewer colour changes per layer means less waste.
Converting between 3MF and STL
- 3MF to STL: open the 3MF in your slicer and export each object, or the plate, as STL. Colours, parts and settings are lost.
- STL to 3MF: open the STL in your slicer, set the units and assign filaments (or paint colours), then save the project. The 3MF now carries everything the STL couldn't.
If you're starting from a photo and want a multicolour figure, most of the work is getting a clean model, splitting it into a sensible number of colours and checking each part. The 3D Print File Agent hands back both files, a checked STL and a colour-split 3MF.
Sources
Checked on 22 October 2026.
- 3MF Consortium, specifications: the core spec, the Materials and Properties extension (colour and multi-material) and the ISO/IEC 25422:2025 listing.
- Wikipedia, 3D Manufacturing Format: 2015 first release; XML in a ZIP-based package.
- Wikipedia, STL (file format): developed in 1987; triangulated surface with no units or colour in the standard format.
Questions
Is 3MF better than STL?
For multicolour or multi-part prints, yes: 3MF keeps units, colours, separate parts and print settings in one file. For a simple single-colour part, an STL works everywhere and is just as good.
Does STL support colour?
No. A standard STL stores only triangles, with no colour, no materials and no units. A few programs hide colour in spare bytes of binary STL, but slicers ignore it. Use 3MF or OBJ with materials for colour.
Can Bambu Studio, PrusaSlicer and OrcaSlicer open 3MF?
Yes. All three save their projects as 3MF, with the plate, the filament assignments and the print settings inside. Cura opens 3MF too.
How do I convert 3MF to STL?
Open the 3MF in your slicer and export the plate or each object as STL. You lose the colours, the parts and the settings, because STL can't store them.
How many colours can I print?
As many as your printer can hold at once: an AMS unit or a Creality CFS holds 4 filaments, a Prusa MMU3 holds 5. Every colour change purges some filament, so more colours means more waste and a longer print.