Tested tool guide
Tested browser tools
Checked August 16, 2026
What STL to OBJ Converter does, with a checked example
An STL file is a triangle soup: every facet lists its three corners in full, so a cube ships as 36 vertices even though it has only 8. This converter parses the soup, merges coincident corners, and writes a Wavefront OBJ - one 'v' line per unique vertex, one 'f' line per triangle, indexed from 1. It can also recalculate normals from the geometry instead of trusting facet records, which often ship missing or wrong. The usual surprises: the OBJ's vertex count will not match the STL's, OBJ indices start at 1, and the conversion runs locally, so your model is never uploaded.
Worked example
A concrete input and expected output from the current implementation.
Input
solid sample
facet normal 0 0 1
outer loop
vertex 0 0 0
vertex 1 0 0
vertex 0 1 0
endloop
endfacet
endsolid sample ->
Expected output
v 0 0 0
v 1 0 0
v 0 1 0
vn 0 0 1
f 1 2 3
Each corner of the single triangle becomes one 'v' line, and the triangle becomes 'f 1 2 3' because OBJ numbers vertices from 1. With recalculation enabled, the normal is computed from the edges: (1,0,0) x (0,1,0) = (0,0,1), matching the stored facet normal, so orientation and shading are unchanged.