What is an STL file?
STL is the de facto standard format for 3D printing models. The abbreviation stands for Standard Tessellation Language (also Standard Triangle Language or originally "Stereolithography"). It was developed in 1987 by the company 3D Systems for the first stereolithography printers.
How is an STL file structured?
An STL file describes the surface of a 3D object exclusively using triangles. Each triangle is defined by:
- three vertices with X, Y, and Z coordinates
- an outward-pointing normal vector
The overall shape is thus created from a mesh of many thousands to millions of triangles – a tessellation.
Binary vs. ASCII
STL exists in two variants:
- Binary STL – compact, fast to read, the standard today.
- ASCII STL – readable as plain text, significantly larger. Rarely used today.
What STL cannot do
STL only describes the geometric outer shell. The following are missing:
- Colors and textures (exceptions like Materialise "STL+" are not standardized)
- Materials and properties
- Units (mm or inches are not encoded in the format – slicers usually assume millimeters)
- Design history, parameters, dimensions
- Multiple objects with metadata in one file
Strengths
- Universal – every slicer, every printing software reads STL
- Simple – only triangles, no complex structures
- Small to medium file size in binary mode
Limitations & typical problems
- Non-watertight models – Holes in the mesh lead to printing errors.
- Duplicate or inverted normals – Slicer interprets "inside" and "outside" incorrectly.
- Very fine details lose sharpness with coarse tessellation.
- Very high triangle counts significantly slow down processing and print preparation.
Learn more under Repair STL.
When to use STL and when something else?
For classic FDM or SLA printing, STL is usually the right choice. If you need colors, materials, or multiple components in one file, check out 3MF or OBJ. For CAD post-processing with exact dimensions, STEP is more suitable.