Convert 3MF to GLB
3MF is what a printer understands and GLB is what a browser, a phone and an AR viewer understand. This conversion takes a printable model and makes it something you can put on a web page, with its colours intact.
Drag a 3D file here, or.
This page is set up for 3MF files. Other formats we can read work here too.
The file is read on your own computer. It is never uploaded.
Your file is read by your own browser and never sent to a server. There is no upload, no account and no copy of your model anywhere but on your computer.
The scale changes, and it has to
glTF and GLB are defined in metres. One unit is one metre, and everything that reads them assumes it. 3MF is nearly always in millimetres. Send the numbers across untouched and a 60 mm bracket arrives sixty metres tall, which in most web viewers means an empty screen with the camera somewhere inside the model.
So the unit is read from the 3MF and the output is set to metres, and the numbers are divided accordingly. You can see it happen: the width, depth and height beside the 3D view are shown in the output unit.
Colour is what a 3MF carries
A 3MF stores colour as base materials, and a GLB stores it in a material on each mesh. Those match up well, so an object that was blue in the 3MF is blue in the GLB, and every viewer that reads GLB will show it.
There are no textures to lose here, and that is worth saying plainly rather than listing them as something this tool drops. A 3MF describes a thing to be printed: solid colours, and a shape. Nothing in the file is a picture wrapped around the model, so nothing about pictures survives or fails to. If you want one, it has to be painted on after conversion.
One file, nothing to lose
GLB packs everything into a single binary file. There is no companion .bin and no separate textures to keep track of, which is why it is the format model viewers, AR quick looks and web frameworks all ask for.
If you need the readable JSON version instead, convert to glTF and you get the same data as text.
A printable model is heavier than a web model needs to be
A part exported for printing is usually tessellated far more finely than a web page needs. CAD programs default to a chord tolerance fine enough that the printed surface is smooth at 0.1 mm layers, which on a curved part can mean tens of thousands of triangles for a shape that reads perfectly on screen with a few thousand.
That costs real time on a web page: the file has to be downloaded before anything appears, and on a phone over mobile data a ten megabyte GLB is several seconds of blank screen. The triangle count is shown beside the 3D view, and if it is above about a hundred thousand for a simple object it is worth reducing before publishing.
This converter does not decimate, because deciding which detail to lose is a judgement about the model rather than about the format. gltfpack and gltf-transform both do it well, and both work on the GLB this page produces.
What survives, and what does not
Kept in the GLB file
- The exact shape of every object you keep
- Object names
- Material colours
- The real size, converted from the 3MF unit into metres
Lost on the way
- Everything the slicer added around the model
- Nothing else: a 3MF holds shape and colour, and GLB holds both
How to convert 3MF to GLB
Drop the .3mf file in
A plain model or a slicer project. Every object on the plate is found and listed under the 3D view.
Choose the objects you want on the web page
Each kept object stays a separate named mesh in the GLB, which is what lets you hide one or click one in a viewer later.
Leave the input unit as it is
The 3MF states its own unit and it has already been read. This is the rare conversion where the source size is not a guess.
Set the output unit to metres and the up axis to Y
Both are what glTF requires. Skip the first and the model is a thousand times too large; skip the second and it lies on its back.
Download the .glb
One binary file with the geometry and the material colours inside it. Nothing else has to travel with it.
3MF and GLB compared
| Property | 3MF.3mf | GLB.glb |
|---|---|---|
| File contents | A ZIP archive holding XML. The model itself is one XML part inside it. | One binary file: a small header, the same JSON as glTF, then all the buffers and images. |
| Geometry | Triangles, with a build platform and placement for each object. | Triangles, with skinning weights and animation channels alongside them. |
| Units | Recorded in the file. Millimetre, centimetre, inch, foot, metre or micron. | Metres, fixed by the specification. |
| Colour and texture | Colour groups and materials per triangle, and textures in later extensions. | Full physically based materials, with the texture images packed inside the file. |
| Separate objects | Several named objects, each placed on the build plate with its own transform. | A scene graph of named nodes, each with its own position and rotation. |
| Published by | The 3MF Consortium, 2015, explicitly to replace STL. | The Khronos Group, 2015, as the single-file packaging of glTF. |
| Written by | PrusaSlicer, OrcaSlicer, Bambu Studio, Cura, Fusion 360 and Windows itself. | Blender, Sketchfab, Substance Painter, and every tool that ships models to the web. |
Questions
- My model is invisible in the web viewer. What went wrong?
- Almost always scale. Check that the second unit box says metres before you download. A model left in millimetre numbers is a thousand times too large for a glTF viewer.
- Should I choose GLB or glTF?
- GLB unless you have a reason. It is one file and it is smaller. glTF is JSON you can read and edit, which is useful when you are debugging or when a tool asks for it specifically.
- Which way up will it be?
- 3MF is Z-up and web viewers are Y-up. Set the output up axis to Y and the model stands the right way round in a browser. The coloured marker in the corner of the 3D view shows which axis will be up in the file that gets written.
- Can I convert a Bambu Studio project this way?
- Yes. Every object on the plate is listed, and you can take them all as one GLB or pick a single one.
- My GLB is ten megabytes. Can I make it smaller?
- Yes, and it is worth doing for a web page. The model is tessellated for printing rather than for a screen. Run the GLB through gltfpack or gltf-transform, which decimate and compress far better than a converter could.
Where to go next
Other things to do with a 3MF file
Other ways to get a GLB file
Related guides and tools
- Gridfinity generatorBins and baseplates, any size, built in the browser
- Repair an STL that will not sliceClose the holes and separate the bad edges so a slicer accepts it
- Reduce the size of an STL fileFewer triangles, the same shape, a much smaller file
- Check whether an STL is ready to printFind out what is wrong with a model before you print it
- 3D printing cost calculatorThe real cost of a print, and whether to print it or order it
- STL to G-codeGuide
- How to convert an STL file to G-codeGuide
- Convert BLEND to OBJGuide
- Convert BLEND to GLBGuide