STL to OBJ Converter
Convert STL files to OBJ directly in your browser. Your model is processed locally, and its coordinates are preserved without uploading the file.
Your STL stays on this device. MeshWrench converts it to OBJ locally in your browser.
Binary or ASCII STL, up to 100 MB. The OBJ won't include materials, textures or colors — STL has none to convert. Coordinates are kept exactly as written.
Processed locally — nothing was uploaded.
- File name
- File size
- Source encoding
- Input triangles
- Output faces
- Unique vertices
- Duplicate references removed
- Skipped degenerate triangles
- Output OBJ size
- Width (model units)
- Height (model units)
- Depth (model units)
STL and OBJ 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
STL files only, same limits as single-file conversion.
How to convert STL to OBJ
- Select an STL file using the picker above — binary or ASCII both work.
- MeshWrench parses it locally, in a background worker — nothing leaves your device.
- Review the preview, dimensions and any warnings, then download the converted OBJ file.
What geometry is preserved
The converter reuses MeshWrench's existing STL parser (the same one STL Viewer uses) to read your file's triangle geometry exactly as written — numeric coordinates are never changed, and triangle winding is preserved. The output is valid, indexed OBJ geometry with one geometric face normal per triangle.
How duplicate STL vertices are handled
STL stores every triangle's three vertices independently, so the same position commonly repeats many times across a mesh. OBJ supports indexed vertices, so MeshWrench merges vertices whose coordinates are exactly, bit-for-bit identical into a single vertex record. This is not mesh repair: vertices that are close but not identical are always kept distinct, with no distance tolerance and no seam welding.
How normals are written
Each output triangle gets one recalculated geometric face normal, referenced from its face line as f a//n b//n c//n, with smoothing explicitly disabled (s off). MeshWrench doesn't attempt
to reconstruct smooth per-vertex normals, since STL itself has no reliable smoothing information to draw from.
How units are handled
Neither STL nor OBJ define a universal measurement unit. MeshWrench preserves your file's numeric coordinates exactly — it never multiplies them by any conversion factor, and dimensions are shown as model units. Your destination application decides how to interpret the numbers.
STL versus OBJ
STL stores only raw triangle geometry, with no units, no metadata and no indexed vertices — every triangle repeats its own vertices. OBJ is a plain-text format that supports indexed vertices, named objects, groups and material references, making it a common choice for tools and workflows that expect a more structured, editable format than STL provides.
Does the OBJ include materials or textures?
No. STL has no field for color, material or texture data, so there is nothing for MeshWrench to carry over. The
generated OBJ never includes an mtllib reference, a usemtl statement or texture
coordinates — only vertex positions, geometric normals and faces.
Why an STL may fail to convert
- The file isn't a valid binary or ASCII STL, or its data is truncated or corrupted.
- Every triangle in the file has zero area, leaving nothing usable to export.
- The model is more complex (triangles, unique vertices) 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 STL file, parses it, and builds the OBJ 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 STL file uploaded?
No. The file is 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.
Does the OBJ include materials or textures?
No. This converter only writes geometry — vertex positions, geometric normals and triangle faces. It never generates an MTL file, a material reference, a texture or vertex colors, since none of that information exists in an STL file to begin with.
How are duplicate STL vertices handled?
STL repeats every triangle's vertices independently. This converter merges vertices only when their coordinates are bit-for-bit identical, so the OBJ can reference one vertex record from multiple faces. It never welds nearby-but-different vertices with a distance tolerance — that would be mesh repair, not format conversion.
What units does the downloaded OBJ use?
Neither STL nor OBJ define a universal measurement unit. MeshWrench preserves your file's numeric coordinates exactly — it never multiplies them by any conversion factor. Your destination application decides how to interpret the numbers.
Why did my conversion fail?
Usually because the file isn't a valid STL, or every triangle in it has zero area (a degenerate mesh with nothing to export) — see "Why an STL may fail to convert" below for the full list MeshWrench checks for.
Explore free tools