Skip to content
WIKI · FILE FORMATS

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.

STL export settings and what they change
SettingWhat it controlsWhat goes wrong
Chordal tolerance (deviation)The largest gap allowed between the true surface and a facetToo loose: round holes and fillets show flats. Too tight: very large files
Angular deviation (angle tolerance)The largest angle allowed between neighbouring facetsToo loose: small radii look faceted
FormatBinary or text (ASCII) encodingText files are much larger for the same mesh
UnitsWhat one coordinate unit meansThe 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

  1. Export solid bodies only, one part per file unless the parts are meant to print together.
  2. Choose binary format and millimetre units.
  3. Use a fine resolution preset.
  4. 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

Sources

  1. Library of Congress: STL (STereoLithography) File Format Family
  2. Wikipedia: STL (file format)
  3. Onshape Help: Exporting files
RELATED ARTICLES
File formats3MF FileA 3MF file is an open 3D printing format, published by the 3MF Consortium and standardised as ISO/IEC 25422:2025, that packages a model's triangle mesh together with its units, colours, materials, and other build data in a single compressed file. It was designed to close STL's gaps: a 3MF file states its unit and must describe closed, consistently oriented geometry.File formatsSTEP FileA STEP file is a neutral CAD file, defined by the international standard ISO 10303, that stores a part's exact solid geometry so it can move between different CAD and CAM programs. It is the preferred format for CNC machining because it keeps true curves, flat faces, and units instead of approximating them with triangles.File formatsOBJ FileAn OBJ file is a plain-text 3D model format, first developed by Wavefront Technologies, that describes an object's surface as vertices and polygon faces, with optional normals and texture coordinates. Colours and textures live in a companion MTL file, and the format stores no units.ProcessesFDM 3D PrintingFDM (fused deposition modeling) is a 3D printing process that builds a part by melting thermoplastic filament and laying it down through a heated nozzle, one thin layer at a time. It is a low-cost way to make functional plastic prototypes, jigs, and enclosures in materials such as PLA, PETG, ABS, and nylon.ProcessesSLA 3D PrintingSLA (stereolithography) is a 3D printing process that builds parts from liquid photopolymer resin, hardening each thin layer with ultraviolet light. It produces smoother surfaces and finer detail than FDM, and printed parts are washed, and usually post-cured, before use.
All wiki articles

STOP BUILDING LABS.
START BUILDING PRODUCTS.

GET STARTED

Free to start · no card required · 30-second signup