Skip to content

STL

The de-facto standard file format for 3D printing that represents a surface geometry as a list of triangular facets with their normal vectors, using either ASCII or binary encoding.

Theory

An STL file stores only triangle geometry: for each triangular facet it records the three vertex coordinates and the outward-facing unit normal vector. It stores no color, material, texture, parametric relationships, or units. Binary STL is compact (50 bytes per triangle); ASCII STL is human-readable but 5–10× larger. STL has been the universal 3D print exchange format since the 1980s, though 3MF is now preferred for multi-material and metadata-rich workflows.

Application

All major CAD and sculpting tools export STL. Import directly into any FDM slicer (PrusaSlicer, Bambu Studio, Cura, OrcaSlicer). STL accuracy depends entirely on tessellation tolerance set at export time: use 0.01–0.05mm for FDM, 0.002–0.01mm for resin. File size grows with polygon count: a 1M-triangle STL in binary is ~50MB. Check export unit setting (mm vs inches): STL has no built-in units.

Common mistakes

STL stores no units: a model exported in inches and opened by a slicer defaulting to mm will appear 25.4× too large. Always confirm the unit setting at export. STL does not encode color or material: use 3MF for multi-material workflows. STL cannot represent curved NURBS surfaces exactly: only tessellated approximations. Binary STL with exactly 80-byte header field, triangle count UINT32, and per-face data is the correct format; malformed headers cause import failures.

Related terms: Tessellation, Manifold Geometry, Watertight Mesh, Polygon Count

Field3D design, 3D printing
Also calledSTereoLithography file, Standard Triangle Language, .stl

Engineer, author of The Big Book of 3D Printing and additive manufacturing expert