Browser-local converter
OBJ to 3MF converter
Convert a Wavefront OBJ into a 3MF package on your own machine. 3MF can hold the two things an OBJ loses on the way to a printer: a declared unit, so nothing has to guess the scale, and material colour, read from the .mtl you supply.
Drop your OBJ 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 OBJ to 3MF conversion does and does not do
- OBJ records no unit and 3MF declares one, so the unit you assign in the workspace is written into the file. That makes the assignment consequential rather than cosmetic.
- Add the .mtl to the queue with the .obj to carry colour across. Diffuse colour and opacity become 3MF base materials; texture images are never read and cannot be embedded.
- Named OBJ objects and groups become separate 3MF objects, each instantiated once in the build section. OBJ has no deeper hierarchy for 3MF to preserve.
- Faces with more than three sides are split with a triangle fan, exact for convex faces.
- Only core specification geometry and materials are written. Production, slice and beam-lattice extensions are not emitted.
Troubleshooting
The size is wrong in my slicer
The 3MF states the unit you selected. If the OBJ was authored in inches and you exported as millimetres, the file now declares the wrong unit and every downstream tool will believe it.
No colour in the 3MF
The .mtl was probably not in the queue. OBJ keeps materials in a separate file, so add both and the workspace will list the materials it found.
The model is oriented wrongly for printing
Many OBJ exporters write Y-up while print tooling expects Z-up. Use the Y-up to Z-up control, then centre on bed, before exporting.
My slicer opens it but shows one object
Check whether the OBJ actually used o or g statements. Without them there is a single mesh to write, and 3MF reflects that faithfully.
Questions
Why 3MF instead of STL for printing?
Because 3MF records its unit, keeps objects separate and can carry colour, so the file arrives at the slicer meaning what you intended instead of relying on convention.
Are the textures embedded?
No. No texture image is ever read or written here, so a 3MF from this converter carries flat material colours. The referenced filenames are listed so you know what was left behind.
Is the export reproducible?
Yes. The archive uses a fixed timestamp, so two exports of the same input are byte-for-byte identical and the file carries no clock reading.