STL File
An STL file is a 3D model saved as a mesh of triangles that describes only the outer surface of an object. It is the de facto standard file for 3D printing, but it stores no units, colour, or design history, so the export settings decide how good the file is.
Updated 28 Sep 2026 · 4 min read · By Wyntek
What an STL file stores
An STL file is a list of triangles. For each one it stores the X, Y, and Z coordinates of its three corners and a normal: a unit-length vector pointing out of the surface. That is all. The format has no standard place for colour, texture, materials, units, or the features that built the model.
To describe a valid solid, the triangles follow two rules. Each triangle's corners are listed counter-clockwise when seen from outside, and each triangle shares a full edge with each neighbour. Together they must close the surface completely, with every edge shared by exactly two triangles.
STL comes in two encodings. Binary STL has an 80-byte header, a triangle count, and 50 bytes per triangle, so a mesh of 100,000 triangles is about 5 MB. ASCII STL writes the same data as text and is much larger, so binary is the usual choice. The format was developed for 3D Systems' first stereolithography machines in the late 1980s and is still the de facto standard for 3D printing.
Units and scale
An STL file has no units field. Its coordinates are plain numbers, and the program that opens the file has to assume what they mean. Most slicers assume millimetres, so a part exported in inches arrives 25.4 times too small, and one exported in metres arrives 1,000 times too small.
Set the export unit on purpose. Onshape, for example, lets you choose centimetres, feet, inches, metres, millimetres, or yards when it writes an STL. When in doubt, export in millimetres and check one known dimension after import.
Resolution and tessellation
CAD models describe curves exactly. STL cannot, so the exporter breaks every curved surface into flat triangles, a step called tessellation. The export settings decide how closely those facets follow the true surface, and how large the file gets.
| Setting | What it controls | What goes wrong |
|---|---|---|
| Chordal tolerance (deviation) | The largest gap allowed between the true surface and a facet | Too loose: round holes and fillets show flats. Too tight: very large files |
| Angular deviation (angle tolerance) | The largest angle allowed between neighbouring facets | Too loose: small radii look faceted |
| Format | Binary or text (ASCII) encoding | Text files are much larger for the same mesh |
| Units | What one coordinate unit means | The part opens at the wrong size |
A fine preset suits most parts. If a round hole looks like a polygon in the slicer, export again with a tighter tolerance. If the file is huge, loosen it: every extra triangle adds 50 bytes to a binary STL.
Common mesh errors
- Holes and gaps: the surface is not closed, so the part has no clear inside and may not slice.
- Non-manifold edges: an edge shared by more than two triangles, often where two bodies touch along a line or at a point.
- Flipped normals: triangles facing inward, which confuses which side is solid.
- Overlapping shells: several bodies exported into one mesh without being joined.
- Zero-thickness surfaces: a surface body exported instead of a solid.
Export closed solid bodies, not surfaces, and open the file in a viewer or slicer before sending it. Many mesh tools can repair small gaps and flipped normals automatically.
When to use STL
STL is fine for single-colour 3D printing in FDM or SLA, and almost every CAD program can export it. It is a poor choice for CNC machining: machining and inspection work to exact surfaces, and an STL only approximates them, so a 10 mm hole becomes a many-sided polygon. Send a STEP file for machining. For prints where the unit, several parts, or colour should travel with the file, 3MF carries more information.
How to export a good STL
- Export solid bodies only, one part per file unless the parts are meant to print together.
- Choose binary format and millimetre units.
- Use a fine resolution preset.
- Open the result in a viewer or slicer and check the size, the curved surfaces, and any holes.
At Wyntek
Wyntek accepts STL uploads, along with OBJ, 3MF, STEP, IGES, SLDPRT, F3D, and DXF. Maximum upload size depends on your plan, up to 250 MB. STL or 3MF is fine for FDM and SLA printing; for CNC machining, send STEP. Upload the file and you see the price in US dollars before you submit.
Upload an STL for printing