OBJ to STL
OBJ in, STL out, in this tab. OBJ is text with shared vertices and optional groups.
STL file · binary facets
Same triangles, OBJ-style geometry rewritten as STL. Convert, then download the . file.
- Triangles
- —
- Vertices
- —
- Time
- —
- Size
- —
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.
| Field | OBJ (source) | STL (target) | What happens |
|---|---|---|---|
| Triangles | stored | stored | copied 1:1, never remeshed |
| Vertices | shared list | repeated per facet | coincident points merged on write |
| Normals | optional | per facet, recomputed | your importer recomputes them from the faces |
| UVs | optional | not written | nothing in OBJ to carry over |
| Objects | named groups | one shell | every shell lands in the same object |
| Units | none | none | no scaling is applied |
| Materials | sidecar .mtl | none | geometry 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
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
- STL to OBJreverse
- STL to PLYsame family
- PLY to STLsame family
- OBJ to PLYsame family
- PLY to OBJreverse
- All 132 pairsmatrix