STL Basics ⏱ 8 min read

What Is an STL File?

STL is the most widely used format in 3D printing — yet most people who work with it daily have never looked inside one. This guide explains exactly what STL stores, what it deliberately omits, and why it became the universal language of 3D printers worldwide.

What STL Actually Stands For

STL officially stands for Standard Triangle Language — though it is also expanded as STereoLithography, after the 3D printing technology it was created for. Both expansions are used interchangeably across the industry. When you see .stl at the end of a filename, you are looking at a file that describes a 3D surface as a collection of triangles.

// Quick Fact

The .stl extension was introduced in 1987 by 3D Systems — the company that invented stereolithography (SLA), the world's first commercial 3D printing technology.

What an STL File Stores

An STL file stores exactly one thing: a triangle mesh describing the surface geometry of a 3D object. Nothing more, nothing less. Every triangle in the mesh is defined by three pieces of data:

  • Three vertices — the X, Y, Z coordinates of each corner
  • One normal vector — a direction perpendicular to the triangle face, indicating which side is "outside"

These triangles tile together to approximate the surface of a 3D shape — the same way pixels tile to form a 2D image. More triangles = smoother surface, but larger file size.

A Single STL Triangle (ASCII Format)

facet normal 0.0 0.0 1.0
  outer loop
    vertex 0.0 0.0 0.0
    vertex 1.0 0.0 0.0
    vertex 0.0 1.0 0.0
  endloop
endfacet

One triangle = one normal + three vertices. Multiply this by thousands and you have an STL file.

The Triangle Mesh Explained

Triangles are used — not squares or other polygons — because of a key mathematical property: a triangle is always planar. All three points of any triangle always lie in the same flat plane, no exceptions. Squares can warp. Triangles cannot.

This makes triangles ideal for 3D computation. Every rendering engine, physics engine, and slicer on the planet operates on triangle meshes because triangle math is simple, fast, and completely predictable. A typical model contains anywhere from a few thousand to several million triangles. A cube has 12. A detailed anatomical model can have 10 million.

What STL Does NOT Store

Understanding what STL omits is as important as understanding what it contains. STL stores geometry only. The following are completely absent:

  • Color — no RGB values, no material assignments
  • Textures — no UV mapping, no image references
  • Materials — no roughness, metallic, or transparency data
  • Animation — no keyframes, bones, or rigging
  • Scale units — numbers could be millimetres or miles; STL does not say
  • Multiple objects — all geometry merges into one mesh
  • Hierarchy — no parent-child relationships between parts
// Common Mistake

Exporting a colored model from Blender, Maya, or Fusion 360 to STL will permanently discard all color and material data. The result will be a plain grey mesh. This is not a bug — it is the format working exactly as designed.

Who Invented STL and Why

Chuck Hull at 3D Systems invented STL in 1987. Hull had also invented stereolithography — the first commercial 3D printing process, curing liquid resin with a UV laser layer by layer. The format was designed for one purpose: to give stereolithography machines a geometry description of the shape to print.

CAD software already produced 3D models, but there was no standard way to hand that geometry to a printer. STL solved this by reducing any shape to its pure geometric essence — a triangle mesh — that could be sliced into layers and printed. Designed before the internet existed, STL was built to be simple, fast to parse, and hardware-agnostic. Those same properties are why it still dominates 3D printing nearly 40 years later.

How 3D Printers Actually Use STL

A printer does not print the STL file directly. The process always goes through a slicer (Cura, PrusaSlicer, Bambu Studio, etc.):

  1. Import — the slicer loads the STL and displays the mesh
  2. Orient and scale — you position the object and set real-world size (STL has no units)
  3. Slice — the slicer cuts the mesh into horizontal layers at your chosen layer height
  4. Generate toolpath — for each layer it calculates the print head path
  5. Export G-code — the slicer outputs G-code that the printer actually executes

The STL itself never reaches the printer. It is an intermediate format between your CAD software and your slicer.

Advantages of STL

  • Universal support — every 3D printer, slicer, and CAD tool reads STL
  • Simple structure — easy to parse, generate, and debug
  • Hardware agnostic — works on any printer, OS, or software
  • Open format — no licensing fees, no proprietary restrictions
  • Proven reliability — 37 years of real-world use across millions of printers

Limitations of STL

  • No color or materials — geometry only
  • No units — scale must be agreed between exporter and importer
  • Large files for complex geometry — highly detailed models produce enormous STL files
  • No multi-material support — 3MF handles this better
  • Redundant vertex data — shared edges are duplicated across triangles

When to Use STL — and When Not To

Use CaseUse STL?Better Alternative
FDM or SLA 3D printing✓ Yes
Sending a model to a print service✓ Yes
Multi-material print with colors✗ No3MF
Web / AR / game engine✗ NoGLB
Rigged / animated character✗ NoFBX or GLB
Textured game asset✗ NoFBX, OBJ+MTL, or GLB
Archiving pure geometry✓ Yes

Frequently Asked Questions

Can STL files store color?
Standard STL cannot store color. There are unofficial color extensions used by some software, but these are not universally supported. For color 3D printing use 3MF or OBJ+MTL instead.
What is the maximum STL file size?
There is no formal maximum, but most slicers struggle above 500MB. A binary STL of 1 million triangles is approximately 50MB. Reduce mesh density in your CAD software before exporting if the file is too large.
Is STL the same as .stl?
Yes. The STL format always uses the .stl file extension in both ASCII and binary variants.
Does STL support animation?
No. STL stores only static geometry. For animation, rigging, or bones use FBX or GLB.
Are STL files in millimetres?
STL files have no units. By convention most CAD software exports in millimetres, but this is not enforced by the format. Always verify scale in your slicer before printing.

Related Articles

← Back to Knowledge Hub