OBJ to STL Converter
Convert OBJ files to STL directly in your browser. Geometry is processed locally, and your model is never uploaded.
Your OBJ stays on this device. MeshWrench converts it to STL locally in your browser.
Up to 150 MB. STL cannot store materials, textures or vertex colors — surface geometry only. Coordinates are kept exactly as written, since OBJ has no unit system.
Processed locally — nothing was uploaded.
- File name
- File size
- Source vertices
- Source faces
- Output triangles
- Objects
- Groups
- Width (model units)
- Height (model units)
- Depth (model units)
OBJ and STL don't store a measurement unit. These numbers are your file's coordinates, unchanged.
Batch processing is a Pro capability.
Pro batch tools are being prepared. Purchasing is not available yet.
Drag files here, or click to browse
OBJ files only, same limits as single-file conversion.
How to convert OBJ to STL
- Select an OBJ file using the picker above.
- MeshWrench parses it locally, in a background worker — nothing leaves your device.
- Review the preview, dimensions and any warnings, then download the converted STL file.
What geometry is preserved
The converter resolves your OBJ file's vertex and face data, including all four common face-reference forms
(v, v/vt, v//vn, v/vt/vn) and both positive and negative
vertex indices. Quad and polygon faces are triangulated, and the output is one flattened triangle mesh with
correct geometry and consistent, outward-facing normals.
What happens to materials and textures
STL stores surface geometry only. Materials referenced with mtllib/usemtl, texture
coordinates, and vertex colors are not included in the download — this is a limitation of the STL format
itself, not something MeshWrench chooses to drop. MeshWrench never fetches a referenced .mtl file or any
other external path. If your file includes any of these, a warning appears before you download.
How polygon faces are triangulated
A triangular face is used as-is. A convex polygon face (a quad or larger n-gon with no inward-pointing corners) is fanned from its first vertex. A concave polygon face is triangulated with an ear-clipping algorithm that projects the face onto its dominant plane and preserves its actual outline — naive fan triangulation would corrupt a concave shape, so MeshWrench doesn't use it for those faces. A face that's severely non-planar or self-intersecting can't be triangulated safely and is rejected with a clear error instead of producing corrupted geometry.
How units are handled
Neither OBJ nor STL define a universal measurement unit. MeshWrench preserves your file's numeric coordinates exactly — it never multiplies them by 10, 25.4 or any other conversion factor, and dimensions are shown as model units rather than being labeled millimeters. Your slicer or CAD application decides how to interpret the numbers.
OBJ versus STL
OBJ is a plain-text format that can describe polygon faces, texture coordinates, vertex normals and material references. STL stores only raw triangle geometry, with no units and no metadata, but remains the most widely supported format across slicers and CAD tools — which is why converting to it is useful even though it's the simpler format.
Why an OBJ may fail to convert
- A face references a vertex, texture-coordinate or normal index that doesn't exist.
- A face has fewer than three (usable) vertices after removing a repeated closing reference.
- A face's edges cross themselves, or the face is severely non-planar.
- A vertex or face line uses a value MeshWrench can't parse as a number, or an ambiguous field count.
- The file only contains line or point primitives, which STL can't represent.
- The file is more complex (vertices, triangles, or vertices on a single face) than this tool's safety limits currently allow.
Is the file uploaded?
No. There is no server-side conversion route in MeshWrench. Your browser reads the OBJ file, parses it, and builds the STL file, all on your device. You can verify this yourself: open your browser's developer tools, watch the network tab, and convert a file. No request containing your file will appear.
Frequently asked questions
Is my OBJ file uploaded?
No. The file is read, parsed and converted entirely in your browser, inside a background Web Worker. It's never sent to a server — check your browser's network tab while a file converts to confirm this yourself.
Are materials and textures preserved?
No. STL stores surface geometry only — no material, texture or color information exists in the format. If your OBJ references a .mtl file or texture coordinates, MeshWrench shows a warning before you download, but the STL itself never contains them. MeshWrench also never fetches the .mtl file itself.
What units does the downloaded STL use?
Neither OBJ nor STL define a measurement unit. MeshWrench preserves your file's numeric coordinates exactly — it never multiplies them by 10, 25.4 or any other value. Your slicer or CAD application decides how to interpret the numbers.
How are non-triangular faces handled?
Quads and other polygon faces are triangulated automatically: convex faces are fanned, and concave faces are triangulated with an ear-clipping algorithm that respects the face's actual shape. Faces that can't be safely triangulated — self-intersecting or severely non-planar faces — are rejected with an explanation rather than converted into corrupted geometry.
Why did my conversion fail?
Usually because a face references a vertex that doesn't exist, a face has an invalid or self-intersecting shape, or the file doesn't contain any triangle/polygon geometry at all — see "Why an OBJ may fail to convert" below for the full list MeshWrench checks for.
Explore free tools