100% local processing — your files never leave your computer

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.

Waiting for a file

Preview of the converted OBJ geometry, shown with flat shading. No materials, textures or colors exist in the source STL to preview.

How to convert STL to OBJ

  1. Select an STL file using the picker above — binary or ASCII both work.
  2. MeshWrench parses it locally, in a background worker — nothing leaves your device.
  3. 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

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.