Browser-local converter
OBJ to STL converter
Turn a Wavefront OBJ into a printable STL entirely inside this tab. Your file is read by JavaScript running on your own machine, never uploaded, and the STL is checked by re-opening it before you download.
Drop your OBJ files here
STL, OBJ, PLY, GLB, glTF, 3MF and SVG. 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 STL conversion does and does not do
- STL stores geometry only. Materials, colours and texture coordinates from the OBJ and its MTL are dropped, because STL has nowhere to put them.
- Neither OBJ nor STL records a unit. The numbers are copied across unchanged, so a model authored in millimetres stays in millimetres and one authored in inches stays in inches. Assign a unit in the workspace if you want the dimensions read correctly.
- Separate OBJ objects and groups are merged into one STL shell. STL has no concept of named objects.
- Faces with more than three sides are split with a triangle fan. That is exact for convex faces; a strongly concave n-gon may triangulate differently from your modeller.
- To read colours and material names, add the .mtl file to the queue alongside the .obj. Texture images are never read, fetched or uploaded.
Troubleshooting
The STL opens much too large or too small in my slicer
OBJ does not record units, so the importing tool has to guess. Assign the correct unit in the workspace, or use scale-to-size to set a known dimension in millimetres before exporting.
My slicer reports the mesh is not watertight
Open the inspection panel. It counts open edges, non-manifold edges and separate shells. Safe repair will weld duplicate vertices, drop zero-area triangles and fix inconsistent winding, but it will never fill a hole, because inventing a surface changes your design.
The colours vanished
That is expected and unavoidable: STL has no colour channel. Convert to 3MF or GLB instead if you need to keep material information.
The model is oriented wrongly
Many OBJ exporters use Y-up while printing tools expect Z-up. Use the Y-up to Z-up control in the workspace, then centre on bed.
Questions
Is my OBJ file uploaded anywhere?
No. Parsing, conversion and validation all run in your browser. There is no upload endpoint, no server-side conversion and no storage. You can disconnect from the network after the page loads and every conversion still works.
Is there a file size limit?
The limit is your device, not our server. The workspace refuses a model before allocating memory if it estimates the mesh will not fit, and it applies a tighter budget on phones and on Safari.
Should I export binary or ASCII STL?
Binary, unless you specifically need a human-readable file. Binary STL is roughly five times smaller and parses faster. Both options are offered and both are validated the same way.
How do I know the STL is actually correct?
Every file is re-opened with the same parser a third-party tool would use, and its triangle count, mesh count and bounding box are compared against the source within a stated tolerance. If anything is off, you get a warning rather than a silent download.