STL to OBJ Converter
Convert an STL to Wavefront OBJ, carrying the file's facet normals across for tools that only read OBJ. Runs in your browser.
Drag & drop your STL file here
or click to browse
Supported Formats
Format Information
Source Format
STL.stl
STL (Stereolithography)
STL is an additive-manufacturing format from the 1990s: a flat list of triangles and nothing else. It has no concept of a scene, a material or a texture, which is why it is the lingua franca of 3D printing and also its most lossy interchange format.
What it carries: Triangle positions and, optionally, one facet normal per triangle. No UVs, no vertex colours, no materials, no node hierarchy, no animation.
Open a STL file in the viewerTarget Format
OBJ.obj
OBJ (Wavefront)
The Wavefront OBJ format is a plain-text mesh description that has been the default interchange format for computer graphics since the 1990s. Geometry lives in the .obj file; colour and texture references live in a companion .mtl file.
What it carries: Vertex positions, normals, texture coordinates and polygon faces, plus what MTL can express: a diffuse colour, opacity, shininess and a single diffuse texture map. There are no PBR metal/roughness values, no normal maps, no vertex colours and no animation.
Open a OBJ file in the viewerAbout this conversion
Adding a layer of structure to a bare triangle list. The STL is written as an .obj with the file's facet normals carried across as vertex normals and a placeholder .mtl alongside it, so the result is a normal-bearing mesh rather than a bare point cloud of faces.
Why convert STL to OBJ
- Open an STL in software that reads OBJ but not STL — many older CAD and sculpting tools.
- Get a text-based mesh you can inspect, edit or diff in version control.
- Hand the shape to a tool that expects a .obj even for an untextured model.
What happens during the conversion
Geometry
The triangles are written through with the STL's facet normals carried across as vertex normals, and all geometry sits in a single object, since STL has no hierarchy. There are no texture coordinates to carry across, because STL does not store any, so the .obj has no vt lines.
Materials and textures
Nothing is carried across from the STL, because the format has no material data. What you do get is the fixed material the STL reader attaches on load — a lime green (#B8FF3B) standard material — written out as an .mtl entry named stl_material_0, with a diffuse colour and no texture map.
Common use cases
- Opening a print file in an OBJ-only tool.
- Producing an inspectable text mesh for review.
- Submitting a shape to a service that accepts OBJ but not STL.
Limitations of this conversion
- The colour in the .mtl is not yours. It is the placeholder the STL reader attaches — a flat lime green (#B8FF3B) — not a colour recovered from your file, so expect to reassign it.
- There are no UVs, because STL has none. Any texture layout will have to be created from scratch.
- Single merged object: the STL's lack of hierarchy means none can be recovered.
- Because the .mtl is present, the download is a ZIP rather than a bare .obj. Keep the .obj and .mtl in the same folder.
How to convert STL to OBJ
Three steps in the browser. Nothing is uploaded to a server, so an unwieldy file is limited only by your own device's memory.
Upload your .stl
Binary and ASCII STL are both supported, and each facet normal is carried over to the three vertices of its triangle.
Convert to OBJ
Triangles are written with the STL's facet normals carried across as vertex normals, alongside a small .mtl.
Unpack and open the .obj
Keep the .obj and .mtl together. Expect a single object with no UV layer and a placeholder lime-green material.
Related tools and formats
Other conversions from this format
Check the file in a viewer
Frequently Asked Questions
Questions people ask when turning STL files into OBJ.
Looking for a different direction? See every supported conversion.