Convert / OBJ → STL

OBJ to STL

OBJ in, STL out, in this tab. OBJ is text with shared vertices and optional groups.

→OBJ text (v + f lines) in · binary facets out
Source
Result
.

STL file · binary facets

Same triangles, OBJ-style geometry rewritten as STL. Convert, then download the . file.

Geometry
1:1
every triangle copied
Materials
in → none
geometry only
Units
none
OBJ stores no unit field
Engine
in-page JS
OBJ reader · STL writer
First load
0 KB
no external script
Status
live
runs in this tab
OBJ → STL · mesh to meshoutput binary facets

What actually changes in the file

OBJ is text with shared vertices and optional groups. STL is a flat list of triangles with no sharing at all. Converting this way means expanding every face into three corners and writing them as binary facets, which is what this page does in the tab.

FieldOBJ (source)STL (target)What happens
Trianglesstoredstoredcopied 1:1, never remeshed
Verticesshared listrepeated per facetcoincident points merged on write
Normalsoptionalper facet, recomputedyour importer recomputes them from the faces
UVsoptionalnot writtennothing in OBJ to carry over
Objectsnamed groupsone shellevery shell lands in the same object
Unitsnonenoneno scaling is applied
Materialssidecar .mtlnonegeometry only, no sidecar file

What this converter does, and what it does not

Reads
OBJ text (v + f lines)detected from the file contents, not the extension
Writes
binary facetsSTL output carries geometry only
Merges vertices
yescoincident points collapse before writing
Scales units
nocoordinates are copied as they are
Repairs meshes
noholes and non-manifold edges pass through unchanged
Size limit
memorybounded by the tab, not by a server quota

Convert, or convert to something else

OBJ → STL is the right move when the next tool wants STL. It is the wrong move when it does not.

Convert to STL when

  • Your slicer or printer only accepts STL
  • You want a smaller file than the OBJ, since binary floats beat decimal text
  • You are sending the model to someone whose toolchain predates OBJ support

Do not convert to STL when

  • Your OBJ depends on UVs or materials that the print needs. STL cannot carry them
  • The OBJ contains quads or n-gons you want to keep as quads
  • You need the object hierarchy preserved
Waiting for a file

Frequently asked

Are quads and n-gons triangulated?

Yes. The reader fan-triangulates every polygon, so a quad becomes two triangles and an n-gon becomes n-2. STL has no concept of a polygon.

Do negative indices work?

Yes. OBJ allows indices counted back from the end of the vertex list, and the reader resolves them before triangulating.

Where did the materials go?

Nowhere to go. STL has no material slot, so the .mtl reference and any per-face material assignment are dropped. The geometry is unaffected.

Is the STL ASCII or binary?

Binary. It is about a sixth of the size of the ASCII form and every slicer reads it.

Does it weld vertices?

The reader merges duplicates first, then the STL writer emits each triangle's three corners. That keeps the triangle count exact while dropping unused vertices.

Related pairs