What is inside a 3MF file
A 3MF is a zip archive. Inside sits an XML model file that lists objects, their triangles, their materials and colours, and a build section that says where each object goes on the plate. The format was designed for 3D printing by the 3MF Consortium in 2015 to fix what STL cannot do: it declares its units (millimetres by default), it can hold several objects in one file, each with its own colour, and it stores a single copy of every vertex so it is smaller than a binary STL of the same shape. Slicers use it as their project format, which is why a 3MF from Bambu Studio or PrusaSlicer also carries print settings, support paint and plate layout in extra files inside the zip.
This 3MF viewer unzips the file in your browser, reads the model XML, applies the build transforms and shows every object in the colour the file assigns. The dimensions panel uses the unit the file declares, so a 3MF will never come out 25.4 times too small the way an STL can. What it does not do is read slicer settings: you see the geometry as it will sit on the plate, not the layer height or the supports.
Like every tool on this site, the work happens in your browser. The file is read from your device, parsed in memory and drawn with WebGL; no copy is sent anywhere. Open the network panel of your browser's developer tools while you load a model and you will see no upload. Close the tab and the model is gone.
Worked example: a Bambu plate with three parts
A friend sends you phone-stand.3mf saved from Bambu Studio, and you do not have the software installed.
- Drop the file. The status line shows
3 objects,18,904 triangles,unit: millimeter. The three objects are the stand body, a rubber-foot insert and a cable clip, each in its own colour, placed as they were on the plate. - The dimensions panel reads
142.0 x 88.5 x 61.2 mmfor the whole build. That is the plate footprint the parts occupy, not the size of one part. Orbit around to see how they are arranged. - Switch on the Section plane and slide it through the stand. The body is solid in the file; infill is a slicer decision, so a 3MF from a slicer still shows the parts as closed shells.
- Check the watertight line. All three objects report zero open edges, which you would expect from a file that a slicer already accepted.
- Click on the top edge of the stand and the bottom edge to measure the tilt height, then convert to a single STL with 3MF to STL if you need to open it in a tool that does not read 3MF.
3MF versus STL for printing
| Property | 3MF | STL |
|---|---|---|
| Units declared | Yes (mm default) | No, assumed mm |
| Several parts in one file | Yes, with placement | One shell soup |
| Colour per part or triangle | Yes | No |
| Shared vertices | Yes, smaller file | No, 3 vertices per triangle |
| Slicer settings | Can be embedded | Never |
| Read by every tool | Most modern ones | Everything since 1988 |
If you are sharing a print with someone who uses the same slicer, 3MF carries more. If you need the widest compatibility, STL still wins, and the converter on this site produces one from any 3MF.
Limitations
- Slicer-specific data inside the zip (print settings, support paint, seam paint, modifiers, plate thumbnails) is ignored. Only the mesh, colours and placement are shown.
- Files with multiple plates are shown as one combined scene.
- 3MF extensions such as beam lattices and slice stacks are not rendered.
- Texture images inside the archive are not applied; per-part and per-triangle colours are.
- Large project files from slicers can be tens of MB because of embedded thumbnails and settings; they still open, but the viewer has to unzip the whole thing in memory first.
Last updated 2026-09-16. Runs in your browser; nothing is uploaded.