What STL means and where it came from
STL takes its name from stereolithography. 3D Systems created the format in 1987 for its stereolithography machines, which build parts from liquid resin layer by layer. The idea has not changed since then. A surface is cut into small flat triangles, called facets, and the file lists them one by one.
Almost four decades later the format is still the usual download on model sites and the usual export for printing. Its age shows in what it leaves out. A sphere, a fillet or a screw thread becomes a set of flat facets, and the finer the export, the more triangles the file holds.
What the STL format stores
Every facet is written the same way: a normal that points out of the part, then three vertices with X, Y and Z. Neighboring triangles repeat their shared corners, because the format has no vertex table.
The binary form adds a fixed frame around those facets. An 80-byte header comes first, then a 4-byte triangle count, then 50 bytes per facet. That makes the size easy to predict: 84 + 50 × N bytes, so our 9,024-triangle test sphere is 451,284 bytes on disk.
| Item | Stored in STL |
|---|---|
| Triangle corners | Yes, three X Y Z points per facet |
| Facet normal | Yes, one vector per triangle |
| Units | Absent: numbers only |
| Color and material | Absent from the standard; the 2-byte attribute field of each binary facet is left unused |
| Exact curves | Absent: arcs become facets |
| Separate bodies | One flat list of triangles for the whole file |
The triangles can be written as readable text or as packed binary. Our guide to STL binary vs ASCII shows both layouts byte by byte.
No units: why a part arrives 25.4 times too small
An STL says a corner sits at 1, 0, 0. It never says whether that 1 is a millimeter or an inch. Most slicers read the numbers as millimeters, so a bracket drawn in inches lands on the virtual bed as a speck, 25.4 times smaller than intended.
Our viewer also shows the numbers as millimeters. If a 4-inch part reads 4 mm in the Info panel, press Inches → mm and every coordinate is multiplied by 25.4. A soft warning, Check the units, appears when a part is longer than 2 m or weighs over 100 kg.
Why a watertight mesh matters
A slicer cuts the model into layers and has to decide what is inside and what is outside on every slice. That only works when the surface is closed: each edge shared by exactly two triangles, all normals pointing out. A single gap can turn a wall into an open line, and volume or weight figures become guesses.
The mesh check in the Info panel says watertight yes or no and names the trouble: holes, open edges, non-manifold edges, flipped, degenerate or inside-out triangles. STL repair welds duplicate vertices, fixes normals and closes simple holes. In our test an open box came back watertight at 8000 mm³.
STL vs 3MF, STEP and OBJ
| Format | Units | Color | Geometry | Typical job |
|---|---|---|---|---|
| STL | none | none | triangles | sending a model to print |
| 3MF | declared | yes | triangles with shared vertices | slicer projects, several parts on a plate |
| STEP | declared | yes | exact surfaces (B-rep) | CAD exchange between companies |
| OBJ | none | through an .mtl file | triangles or polygons | rendering, textured models |
Pick STL when the next program is a slicer and the size is known. Pick 3MF when units or colors must travel with the model, and STEP when someone will keep designing.
Open and check one in this tab
Drop an STL on the STL viewer below. The file is read by JavaScript on your computer and is never sent to a server, which matters when the part belongs to a client. Info then lists X × Y × Z, volume, surface area, triangle count and separate parts, and Measure snaps to vertices: two corners of our 20 mm test cube read exactly 20.00 mm.
Questions and answers
What does STL stand for?
The name comes from stereolithography, the resin process 3D Systems built the format for in 1987. Other expansions of the three letters circulate, but the stereolithography origin is the documented one.
Does an STL file have units?
No. It holds bare numbers, and most programs read them as millimeters. If a model drawn in inches comes in tiny, scale it by 25.4 with Inches → mm.
Can an STL file store color?
The standard has no color field, in ASCII or in binary. It leaves the 2-byte attribute field of a binary facet unused, so do not count on any reader showing a color from it. Use 3MF or OBJ with an .mtl file when color matters.
Is 3MF better than STL?
For printing, 3MF carries more: declared units, colors, materials and several objects in one ZIP package. STL wins on reach, since every slicer and mesh tool reads it.
What is the difference between STL and STEP?
STEP stores exact CAD surfaces, so a hole stays a true cylinder and the unit is declared. STL stores only the triangles that approximate those surfaces, which is what a slicer needs.
How big is an STL file?
Binary STL is 84 + 50 × N bytes for N triangles, so 250k triangles come to about 12 MB. The ASCII form of the same mesh is roughly 280–300 bytes per triangle when the exporter writes long decimals, close to six times larger.
Why does my slicer call the STL non-manifold?
Some edges belong to one triangle or to more than two, so the surface does not close cleanly. Run the mesh check to see how many edges are affected, then try Repair before slicing.