Free tools / STL → 3MF
STL to 3MF.
Convert one or more STL files into a 3MF file with the right units. Keep several files together as parts of one model for multi-colour printing, or lay them out side by side.
Specification
What this tool does
Reads binary or ASCII STL files, joins the repeated corners into a proper vertex list, converts the units you choose to millimetres and writes a 3MF package (content types, relationships and the 3D model part). The file is then read back with our 3MF reader to confirm it opens with the same size.
- Inputs
- Binary or ASCII STL, one or more files
- Outputs
- 3MF in millimetres: one object with a part per file, or one object per file
- Controls
- STL units: millimetres, centimetres, metres or inches
- Several files: parts of one model (positions kept) or separate objects (placed in a row)
- Limits
- Each file up to 64 MiB; up to 2,000,000 triangles in all files together
- Not a repair tool: open or broken meshes are reported, then written as they are
- STL has no colours, so the 3MF parts have none until you pick filaments
Privacy: Files are parsed, previewed and written back inside your browser. Nothing is uploaded, no account is needed and no generation credits are spent.
Maintained by Bake3D · Updated
Why turn an STL into a 3MF
An STL file is a list of triangles. It does not say whether its numbers are millimetres or inches, and it holds one shape with no parts. A 3MF file is a newer format, made by the 3MF Consortium, that stores the unit, several objects and several parts of one object in one zipped file. Most modern slicers save their projects as 3MF, as our 3MF vs STL guide explains.
This tool reads one or more STL files and writes them as one 3MF. Use it to fix the unit of a file once, to send several parts of a model as one file, or to get a smaller file. Your files are read in your browser and never uploaded.
Convert in three steps
- Drop one or more STL files on the box. Binary and text (ASCII) STL both work. Or click Try two sample parts.
- Choose the unit the STL was made in. Most STL files are millimetres. When you add more than one file, choose how to combine them.
- Check the size and the read-back line, then click Download.
Pick the right unit
STL has no unit field, so every program has to guess. Slicers usually guess millimetres. If your model was drawn in centimetres or inches, it comes out 10 or 25.4 times too small. Pick the unit the file was made in. The tool multiplies every point to millimetres and writes a 3MF that says “millimetre” inside, so every slicer reads the same size from then on.
The size of each file shows next to its name. If a 50 mm part shows as 5 mm, the file was made in centimetres.
Several files: parts or separate objects
Parts of one model keeps every file where it was drawn. Use this for a multi-colour model that was exported as one STL per colour from the same design. The parts line up, and the 3MF holds them as one object, so the slicer moves them together. Then give each part its own filament. Prusa shows where to do this in its guide to assigning extruders.
Separate objects treats each file as its own model. The tool sets each one on the plate and puts them in a row with 5 mm gaps, so files drawn in the same spot do not overlap. Use this to send a batch of different models in one file.
What is inside the 3MF
A 3MF file is a ZIP folder with three files inside: a list of content types, a relationships file that points to the model, and the model itself, written in XML. This is the minimum the 3MF Core Specification (version 1.4.0) asks for.
In the model, each STL becomes a mesh. An STL repeats every corner once for each triangle that uses it. The 3MF lists each corner once and points to it, which is part of why the file is smaller. For example, our 10,140-triangle name plate is 507,084 bytes as a binary STL and about 89 KB as a 3MF. Triangles that collapse to a line, because two of their corners are the same point, are dropped, as the specification requires. The tool tells you when this happens.
What the tool does not change
This is a converter, not a repair tool. It does not close holes, fix flipped faces or merge parts that overlap. Next to each file, it shows whether the mesh is a closed solid, using the same edge count as our STL viewer and checker. The 3MF specification asks for closed meshes, so a slicer may try to repair an open one when it opens the file. If a file shows open edges, fix it in your modelling program first, or let your slicer repair it.
STL has no colours, so the parts in the 3MF have none until you pick filaments in your slicer. Slicer settings are not added either.
How we checked it
Every 3MF the tool writes is opened again right away with our own 3MF reader, the same one behind the 3MF to STL converter. The check line tells you if the triangle count and the size match what was written. Files over 1,000,000 triangles are written but skip this read-back, because they pass the reader’s limit.
We also opened the results in two other readers. The three.js 3MF loader and a separate Python reader that we ran inside Blender 4.4 both found the same objects, triangles and sizes. For the two sample parts, a 50 × 50 × 3 mm base and a ring that sits on it, “Parts of one model” gave one object 50 × 50 × 5 mm high, with 800 triangles and no open edges. “Separate objects” gave a row 88.98 mm wide, with both parts on the plate.
Automated tests cover all four units, both ways of combining files, open meshes, collapsed triangles and the package structure. We have not opened every file in every slicer. If your slicer will not open a file from this tool, tell us at hello@bake3d.ai. If you still need a model to print, read how to make an STL file or see what Bake3D does for 3D printing.
Common questions
Is 3MF better than STL?
For your own print projects, often yes: 3MF stores the unit, several parts and colours. STL is still the safest choice to share a single plain model, because every program opens it. Our guide to 3MF, STL and OBJ compares them in detail.
Will my slicer open the 3MF?
The file follows the core 3MF specification, and three different readers open it. Major slicers open 3MF, including PrusaSlicer, which lists it among its supported file formats. Slicers add their own settings when they save a 3MF. This file holds only the models, the part that every 3MF reader must understand.
Does the 3MF keep colours from my STL?
No. Standard STL files store no colours, so there is nothing to keep. Pick a filament for each part in your slicer.
Why are my parts in the wrong place?
If the parts were exported from one design, choose “Parts of one model” so they keep their positions. If they still do not line up, they were probably exported with different units or positions. Check the size shown next to each file.
Can I turn a 3MF back into an STL?
Yes. Use our free 3MF to STL converter. It reads the unit inside the 3MF and writes an STL in millimetres.
How large can the files be?
Each STL can be up to 64 MiB, and all files together up to 2,000,000 triangles. Larger files may still be slow in a browser with little memory.
Other free tools
- JPG → STLphoto · lithophane
- Image → STLrelief · generator
- GLB → FBXrig + animation
- FBX → OBJbinary + ascii
- 3MF → STLbinary stl
- GLB → STLgltf too
- OBJ → GLBfor the web
- STL → OBJmm · ascii
- OBJ → STLfor printing
- GLB → OBJgltf too
- STL checkerinspect · report
- 3D viewerglb · fbx · obj · stl
- GLB viewerbones · animation
- glTF viewer.gltf + .bin
- FBX viewerbones · takes
- OBJ viewerobj + mtl
- STL repairfix · watertight
- Normal map generatortexture · png
- 3D text → STLkeychain · name plate
- SVG → STLlogo · colour layers
- FBX → GLBrig + animation
- OBJ → FBXmtl + textures
- glTF → FBX.gltf + .bin
- DAE → FBXcollada · rig