Browser-local converter
3MF to GLB converter
Turn a 3MF print package into a GLB for a web viewer, an AR scene or a game engine. This conversion has an unusual advantage: 3MF declares its own unit, so the scaling into the metres glTF expects is known rather than guessed.
Drop your 3MF files here
STL, OBJ, PLY, GLB, glTF, 3MF, SVG and DXF. Nothing is uploaded: files are read and converted inside this tab. Checking what this device can handle...
Queue
No files yet. Drop models above, or use the file picker.
Output
Units
Size and placement
Repair and cleanup
These can change the shape, so they need a before-and-after review before export.
Inspection
Add a model to see its dimensions, mesh health and estimated volume.
What this 3MF to GLB conversion does and does not do
- 3MF declares a unit and glTF is defined in metres, so this is the one conversion to GLB here where the scale factor is read from the file instead of assumed. A model declared in millimetres is divided by 1000 on the way out.
- 3MF base materials and display colours become glTF base colour factors with opacity. There are no textures to carry, because 3MF core materials are flat colours and no image is ever read or written here.
- Build transforms and nested components are baked into the vertices, so the scene looks right, but the assembly structure becomes a flat list of glTF nodes.
- 3MF extensions beyond the core specification, including production, slice and beam-lattice data, are not interpreted.
- The GLB is written uncompressed. Draco and meshopt compression are not applied, so a dense print mesh makes a large file to serve over a network.
- A 3MF is a ZIP archive and is treated as untrusted: entry counts, declared sizes, compression ratios and paths are all checked before decompression.
Troubleshooting
The model is a thousand times too large in my viewer
That happens when the source unit was not what the file declared, or the declaration was missing. The workspace shows the unit it read and its source; assign the correct one and export again.
The GLB is too big to serve
Print meshes are dense and this writer does not compress geometry. Decimate in mesh software before converting, or apply Draco with a dedicated tool afterwards.
The colours look washed out or too dark
glTF base colour is interpreted in linear space by renderers, while slicer previews often show sRGB. The values are carried faithfully; the difference is in how each tool displays them.
The 3MF will not open
It must be a complete .3mf package rather than the 3dmodel.model XML alone. A hand-re-zipped archive is often missing its relationship part; re-export from the original tool.
Questions
Why is this conversion more reliable than STL to GLB?
Because the unit is not a guess. 3MF states its unit in the file, so the conversion into metres is exact, where an STL leaves you to work out what its numbers meant.
Will it work in model-viewer and three.js?
Yes. Accessors carry the specification-required min and max, buffer views are 4-byte aligned and chunks are padded as the container requires, so it passes strict validators.
GLB or OBJ for a web viewer?
GLB, without much doubt. It is one binary file with no sidecars to lose, it carries materials natively, and every current web 3D renderer loads it directly.
More tools
- GLB to 3MFConvert a GLB or glTF scene into a 3MF package on your own machine.
- 3MF to STLConvert a 3MF package to STL without uploading it.
- 3MF to OBJConvert a 3MF package into a Wavefront OBJ locally, for a 3D application rather than a slicer.
- STL to GLBTurn an STL into a GLB you can drop into a web viewer, a game engine or an AR scene.