What is the STL file format?
.stl is a generic file format for storing 3D geometry data, created by 3D Systems - the company behind stereolithography 3D printing - in 1987. An .stl file stores 3D object data in either ASCII text or binary form.
Simplicity of STL
.stl files are used for storing and defining 3D models described by triangulated surfaces. The format is known for its simplicity: each object is defined by its 3D surface geometry, with no representation of textures, colors, or other standard CAD attributes such as materials or units. Every surface is broken down into triangular facets, each described by three corner vertices and an outward-facing normal vector.
Popularity of STL
Initially .stl was supported only by the stereolithography 3D printing system that gave it its name, but it soon gained popularity due to its simplicity and is now supported by virtually every modern CAD, 3D modeling, and slicer application. .stl is considered one of the simplest 3D data exchange formats and is used by professionals and amateurs alike - it remains the dominant format for FDM and SLA desktop 3D printing, though newer formats like 3MF are gradually replacing it for richer workflows.
Two versions of STL
The .stl format is available in two versions - binary and ASCII text. The ASCII version defines 3D objects using plain-text keywords (solid, facet normal, vertex, endloop, endfacet, endsolid) in a structured loop for each triangle. The binary version uses a different, more compact structure: an 80-byte header followed by a 4-byte triangle count and 50 bytes per triangle. Binary is far more popular because binary .stl files offer a much smaller file size - often 5× to 6× smaller than an equivalent ASCII file.
Security & safety
RISK: LOWSTL files are passive geometry data and carry no executable code, so opening one is low-risk. The real-world cautions are practical, not security: STL stores no units, so a model may import at the wrong scale (check mm vs inches), and meshes are often non-watertight or have flipped normals, causing slicing/print failures - repair them in MeshLab/Blender/Meshmixer. When downloading printable STLs, stick to reputable model sites and avoid 'free STL' pages that bundle adware installers around the download.
Format details
in a nutshellPrograms that open STL files
Technical details
deep spec| Format type | Triangle mesh - triangulated surface geometry only (no volumetric or NURBS data) |
| Encoding variants | Two official encodings: ASCII plain text and binary; both represent the same geometry |
| Geometry primitive | Triangular facet: three vertices (X, Y, Z as 32-bit floats) plus one outward unit normal vector |
| Texture and color support | None - geometry only; no colors, textures, materials, or layer information are stored |
| Coordinate system | Right-handed Cartesian (X, Y, Z) with 32-bit IEEE 754 single-precision floating-point values |
| Units | Not encoded in the format; the importing application is responsible for interpreting the scale |
| ASCII structure keywords | `solid`, `facet normal`, `outer loop`, `vertex`, `endloop`, `endfacet`, `endsolid` |
| Binary header | 80-byte free-text header (no fixed magic signature), followed by a 4-byte little-endian uint32 triangle count |
| Binary record size | 50 bytes per triangle: 12 bytes (normal) + 36 bytes (3 × vertex XYZ) + 2-byte attribute byte count |
| File identification | ASCII files begin with `solid` at offset 0; binary files carry no fixed signature - tools use heuristics to distinguish them |
| MIME type | `model/stl` (also historically `application/sla` and `application/vnd.ms-pki.stl`) |
| File size ratio | Binary encoding is typically 5-6× smaller than ASCII for the same mesh data |
| Winding convention | Counter-clockwise vertex order when viewed from outside the surface (right-hand rule defines outward normal) |
| Mesh integrity requirement | Watertight (closed, manifold) meshes are required by 3D printing slicers; the format itself does not enforce this |
| Multi-material support | None natively; each `.stl` file encodes a single uniform surface with no material or colour assignment |
| Primary use case | 3D printing (FDM, SLA, SLS) and rapid prototyping; widely used for CAD geometry exchange between applications |
| Released | 1987 (created by 3D Systems for stereolithography 3D printing) |
| Open standard | Yes · royalty-free |
| Specification | en.wikipedia.org |
STL conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about STL files.