OBJ → STL · FREE · NO UPLOAD
OBJ to STL Converter — From 3D Tools to the Printer
Turn a .obj from Blender, ZBrush, Maya or a 3D scan into a printable .stl — in the browser, nothing uploaded.
From a ZBrush sculpt or Polycam scan to a printable file
A ZBrush sculpt and a Polycam scan both leave you with an OBJ, and a slicer wants STL. The hop is short: export the OBJ, drop it here, glance at the stats bar, download STL, open the file in Bambu Studio or PrusaSlicer. The catch is density. Sculpts and photogrammetry meshes are often far heavier than a CAD part, and the triangle count on this page is the number your slicer is about to chew.
- Start in the source app. In ZBrush, export the mesh from the Tool palette with Export; that writes OBJ. Polycam and similar photogrammetry apps export OBJ or GLB — pick OBJ for this page. You do not need the accompanying .mtl or textures. STL stores bare triangles, so materials cannot come along. Drop just the .obj on the converter above.
- Wait for the preview and read the stats bar. Triangle count, vertex count, and bounding-box size appear there. If the count is in the millions, pause. A multi-million-triangle sculpt will open, but slicing it is slow and the file is huge. Consider decimating in Blender first, then bringing the lighter mesh back here. OBJ files carry no unit, and Blender's default scene unit is meters, so a decimate round-trip can also change how large the numbers look. Check the bounds under the preview: slicers assume STL numbers are millimeters. If a figurine that should be 50 mm tall reads as 0.05, you will need to scale by 1000 on the plate.
- When the count is reasonable and the bounds look like the real-world size you expect, download the STL. Open it in your slicer the same way you would any other mesh. Orient it, add supports if the scan has overhangs, and slice. Photogrammetry surfaces are often noisy; if the slicer complains about holes, that is the scan, not the conversion. Geometry is preserved exactly — quads in the OBJ are triangulated because STL can only store triangles, which does not change the shape.
That is the pipeline: Tool palette → Export (or Polycam's OBJ export), drop here, read the stats bar, download STL, slice. If the mesh is a GLB from the same scanner instead, use the GLB to STL converter. If you only needed to look at the OBJ, the preview above already did that without installing ZBrush or Polycam on this machine.
When you need this conversion
- Sculpt to print — ZBrush and Blender sculpts export cleanly to OBJ; slicers want STL.
- Scan to print — photogrammetry apps (Polycam, KIRI, RealityScan) hand you OBJ meshes.
- Game asset to print — extracted or purchased OBJ models headed for the printer.
- Old archives — OBJ has been around since the 1990s; plenty of model libraries still ship it.
Coming from an AI generator instead? Those export GLB — use the GLB to STL converter. Need the reverse of this page? STL to OBJ.
FAQ
Is my OBJ file uploaded anywhere?+
No. The OBJ text is parsed in this tab with JavaScript and re-encoded as binary STL locally. No upload endpoint exists on this site — the conversion keeps working with the network disconnected.
What happens to the .mtl file and textures?+
Materials and textures cannot cross into STL — the format stores bare triangles only. You can drop just the .obj; the missing .mtl is irrelevant for printing. Geometry, including every group and object in the file, is preserved exactly.
My OBJ has quads or n-gons. Does that break the STL?+
No — faces are triangulated on import, which is the standard treatment (STL can only store triangles). A quad becomes two triangles; the shape is unchanged. Smoothing groups are ignored because STL has no concept of them.
Does this work with photogrammetry scans and sculpts?+
Yes, and they are the heaviest case: scans from Polycam/RealityCapture and sculpts from ZBrush often carry millions of triangles. Parsing happens in your browser's memory, so a very large OBJ may take several seconds. The triangle count in the stats bar tells you what your slicer is about to deal with — consider decimating in your 3D tool if it's over a few million.
The model comes out tiny or huge in my slicer. Why?+
OBJ files carry no unit. Blender exports in meters by default while slicers read STL numbers as millimeters — a 0.05-unit Blender model becomes 0.05 mm. Check the bounds under the preview: if they look 1000× off, scale in the slicer or re-export with a different unit scale.