Skip to main content
Model Mender

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.

Add a model to see it here.

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