File InformationSTL ToolsSample STL FilesLatest News

STL (Standard Triangle Language)

ExtensionSTL
Full NameStandard Triangle Language
Type3D Model
Mime Typeapplication/vnd.ms-pki.stl
FormatText & Binary
ToolsSTL Converters, 3D Model Voxelizer, Create STL Animation, Compress STL, Text to STL, STL Viewer
Open WithBlender, Daz Studio, MeshLab, CAD Assistant
STL

The STL file format (Standard Triangle Language) is a simple 3D format used to store and transmit a 3D model. The format was devised in the '80s but is still in use today and is just as popular as many modern alternative formats, such as 3MF. The STL format is a simple list of triangles, with each triangle consisting of 3 vertices representing the triangles, position in 3D space and 3 normals to specify its direction.

The simplicity of the STL format means that it can be read by most 3D applications, and the format has become somewhat of a standard format for 3D printing.

For STL files, there are two basic storage formats: text and binary.

Text

The STL text format, as its name suggests, stores the 3D geometry in a human-readable text format. The format stores information about each face (aka triangle) in the 3D model, including its vertex position and normal. An example of an STL file containing six triangles is as follows:

000solid ascii
001  facet normal 0.000000e+000 0.000000e+000 -1.000000e+000
002    outer loop
003      vertex   7.071068e+000 -7.071068e+000 0.000000e+000
004      vertex   -7.071068e+000 -7.071068e+000 0.000000e+000
005      vertex   7.071068e+000 7.071068e+000 0.000000e+000
006    endloop
007  endfacet
008  facet normal -0.000000e+000 0.000000e+000 -7.071068e-001
009    outer loop
010      vertex   7.071068e+000 7.071068e+000 0.000000e+000
011      vertex   -7.071068e+000 -7.071068e+000 0.000000e+000
012      vertex   -7.071068e+000 7.071068e+000 0.000000e+000
013    endloop
014  endfacet
015  facet normal 0.000000e+000 -5.656855e-001 2.000000e-001
016    outer loop
017      vertex   0.000000e+000 0.000000e+000 2.000000e+001
018      vertex   -7.071068e+000 -7.071068e+000 0.000000e+000
019      vertex   7.071068e+000 -7.071068e+000 0.000000e+000
020    endloop
021  endfacet
022  facet normal -5.656855e-001 0.000000e+000 2.000000e-001
023    outer loop
024      vertex   0.000000e+000 0.000000e+000 2.000000e+001
025      vertex   -7.071068e+000 7.071068e+000 0.000000e+000
026      vertex   -7.071068e+000 -7.071068e+000 0.000000e+000
027    endloop
028  endfacet
029  facet normal 0.000000e+000 5.656855e-001 2.000000e-001
030    outer loop
031      vertex   0.000000e+000 0.000000e+000 2.000000e+001
032      vertex   7.071068e+000 7.071068e+000 0.000000e+000
033      vertex   -7.071068e+000 7.071068e+000 0.000000e+000
034    endloop
035  endfacet
036  facet normal 5.656855e-001 0.000000e+000 2.000000e-001
037    outer loop
038      vertex   0.000000e+000 0.000000e+000 2.000000e+001
039      vertex   7.071068e+000 -7.071068e+000 0.000000e+000
040      vertex   7.071068e+000 7.071068e+000 0.000000e+000
041    endloop
042  endfacet
043endsolid

Binary

The binary STL file format is relatively simple in its structure. The file begins with an 80-byte header block, usually containing ASCII text of the 3D software tool or program used to create the STL. Following this is a 32-bit integer field containing the number of triangles contained within the STL file. Following these are details of each triangle found in the 3D model in sequence. The information stored for each triangle is as follows:

As you can see from the above fields, the STL format does not have any scope for storing material or texture information related to the 3D model that is read in by our STL tools. It is true that over the years, some vendors have used the 16-bit attribute field as a means to store limited color information about the individual triangles; however, these were never standardized. Our STL conversion tools do support creating STL files that support these limited color formats; however, the software used for opening the STL files may not render the model correctly. If you are interested in a modern, compact 3D model format designed for the world of 3D printing, then please refer to the 3MF model format, which was designed specifically for this task.

A simple STL pyramid 3D model
An animated STL model

Summary

STL files, due to their simplistic structure, are supported by most 3D graphics editing software. STL files are also commonly used within 3D printing circles to distribute files and print 3D models. Our STL viewing tool fully supports the STL format, including the VisCAM and SolidView formats.

Sample STL Files

Here we have some example STL files for you to download and use in your own projects.

Swirl

Swirl

A simple swirl 3D model that was generated using our PNG to STL tool using Extrude mode.

swirl.stl (729.96kb)

Cube

Cube

The classic cube example is stored as a STL file. Within the STL file, this cube is stored as a sequence of 12 triangles.

cube.stl (684.00 b)

© 2024 ImageToStl. Convert your PNG and JPG Files to 3D STL files.