Convert OBJ to 3MF
OBJ to STL throws away everything except the triangles. OBJ to 3MF does not: the groups stay separate, the colours come across, and the unit is written into the file. This is the conversion to use when the model is going to a printer.
Drag a 3D file here, or.
This page is set up for OBJ 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.
Groups stay separate objects
An OBJ can hold several named groups. Convert to STL and they are merged into one body, because STL has no way to keep them apart. Convert to 3MF and each group is written as its own object with its own name, so the slicer shows them as separate things you can move, delete or give different settings to.
That is the main reason to write 3MF from an OBJ. A model made of a base, a lid and a handle stays three parts on the plate instead of becoming one shape you cannot pull apart.
Materials become 3MF colours
Drop the .mtl file in together with the .obj and the diffuse colour of each material is read. Those colours are written into the 3MF as base materials, and objects point at the one they use. A slicer that shows colour will show them; a printer with more than one filament can use them as a starting point for assignment.
The .mtl file is optional. Without it, the 3MF is written with no colour, which is a perfectly ordinary 3MF.
Give it the right unit
OBJ records no unit. A cube ten units wide might be ten millimetres or ten metres, and programs that export OBJ use whatever the scene used. This is the most common reason a printed part comes out at the wrong size.
Set the first box to what the OBJ actually used, leave the second on millimetres, and check the width, depth and height beside the 3D view before downloading. The 3MF then states that unit, so the answer is fixed once and travels with the file.
An object has to be closed before a printer can use it
A 3MF is a printing format, and a slicer given one assumes each object encloses a real volume. Modelling programs do not enforce that at all: a plane, a single wall, a surface with no thickness and a mesh with a hole in it are all perfectly ordinary things to have in an OBJ, and all of them are unprintable.
The open-edge count beside the 3D view is the check. Zero means every edge has a triangle on both sides, which is what closed means. Any other number means there is a hole, and the slicer will either patch it with a guess or produce something strange.
Where an OBJ holds several groups, each becomes its own object in the 3MF and each is closed or not on its own. A model whose base is solid and whose lid is a single surface will slice the base correctly and do something unpredictable with the lid, which is much easier to diagnose before converting than after a failed print.
What survives, and what does not
Kept in the 3MF file
- The exact shape
- Named groups, as separate objects in the 3MF
- Material colours from the .mtl, as 3MF base materials
- The unit, written into the file rather than assumed
Lost on the way
- Texture coordinates and the images they point at — 3MF has nowhere for either
- Everything in the .mtl except the diffuse colour
How to convert OBJ to 3MF
Drop the .obj and .mtl in together
Select both at once. The .mtl is optional — without it you get a 3MF with no colour, which is perfectly normal.
Check the object list
Each named group in the OBJ becomes its own object in the 3MF. If the list shows one object and you expected three, the OBJ was exported with its groups merged.
Check the open-edge count
Zero means closed and printable. Anything else means at least one object has a hole, and it is worth finding out which before you print.
Set the input unit to what the OBJ used
Usually metres from a modelling program, millimetres from CAD. Leave the output on millimetres and check the measurements shown beside the model.
Download the .3mf
The unit you chose is written into the file, so this is the last time anyone has to think about it. The file opens in PrusaSlicer, Bambu Studio, OrcaSlicer and Cura.
OBJ and 3MF compared
| Property | OBJ.obj | 3MF.3mf |
|---|---|---|
| File contents | Plain text, one item per line. Materials live in a separate .mtl file beside it. | A ZIP archive holding XML. The model itself is one XML part inside it. |
| Geometry | Triangles and polygons. Also stores free-form curves, which almost nothing writes. | Triangles, with a build platform and placement for each object. |
| Units | None. Like STL, the numbers are bare, though exporters usually mean metres. | Recorded in the file. Millimetre, centimetre, inch, foot, metre or micron. |
| Colour and texture | Material names and texture coordinates, with the materials themselves in the .mtl file. | Colour groups and materials per triangle, and textures in later extensions. |
| Separate objects | Named objects and groups, each able to carry its own material. | Several named objects, each placed on the build plate with its own transform. |
| Published by | Wavefront Technologies, 1980s, for the Advanced Visualizer. | The 3MF Consortium, 2015, explicitly to replace STL. |
| Written by | Blender, Maya, 3ds Max, ZBrush and most modelling programs. | PrusaSlicer, OrcaSlicer, Bambu Studio, Cura, Fusion 360 and Windows itself. |
Questions
- Do I need the .mtl file?
- Only if you want the colours. Select the .obj and the .mtl together, or drag both in at once. Without it the model converts fine and comes out with no colour.
- Will my groups really stay separate?
- Yes. Each group becomes its own object with its own name in the 3MF, and the slicer lists them separately. This is the thing STL cannot do.
- Which slicers read this file?
- PrusaSlicer, Bambu Studio, OrcaSlicer, Cura and Windows 3D Builder all read 3MF. The file written here follows the 3MF specification rather than any one slicer’s project format.
- Is 3MF better than STL for printing?
- For getting a model into a slicer, yes. It records the unit, keeps objects apart, can carry colour, and is smaller. STL is only better when something old in your workflow refuses to read anything else.
- My model has open edges. Can I still convert it?
- Yes, the conversion works. Whether it prints is another matter — a slicer given an unclosed object patches it with a guess. Fix the holes in Blender or Meshmixer first if the part matters.
- Do texture images survive into the 3MF?
- No. 3MF core has no place for a texture, and only the diffuse colour of each material is carried across. If you need the texture, convert to GLB or OBJ instead.
Having it printed
If the part is larger than your bed, needs a material your printer cannot handle, or you do not have a printer, these will print it and post it to you. Work out what it would cost you first — the cost calculator on this site gives you a figure to compare against.
- JLC3DPCheapest for resin and nylon, slow shipping
- CraftcloudCompares dozens of printers at once, including local ones
- PCBWayMetal printing and CNC as well as plastic
These are ordinary links, not paid referrals — we earn nothing if you use them. The converter above is the same whether you do or not.
Where to go next
The other direction
Other things to do with a OBJ file
Other ways to get a 3MF file
Related guides and tools
- 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
- Gridfinity generatorBins and baseplates, any size, built in the browser
- 3D printing cost calculatorThe real cost of a print, and whether to print it or order it
- Convert BLEND to OBJGuide
- Convert BLEND to STLGuide
- STL to G-codeGuide
- How to convert an STL file to G-codeGuide