What Is An STL File?  From Creation to 3D Printing

Table of Contents

What is an STL file
What is an STL file


It’s not uncommon that 3D designers and other 3D professionals often encounter questions like, “What is an STL file?” especially from newcomers and enthusiasts. The 3D printing process often begins with downloading a 3D model file, which the 3D printer then uses to construct the design layer by layer into a physical object.

But here’s the thing: The 3D model you download is usually in an STL file format before it can be printed. So, how exactly does that work?

STL stands for Standard Tessellation Language, as tessellation is utilized in these files to build the model. Furthermore, tessellation involves dividing a surface into contiguous shapes, such as triangles, forming a mesh that represents the object but more on that later in this post.

In this post, we’ll demystify STL files including their creation, usage, and advantages. So, let’s dive in without delay. 

STL Standard Tessellation Language files
STL Standard Tessellation Language files

Section 1: What is an STL File Format?

Even though 3D printing may seem like a modern invention, the STL file format actually dates back to 1987, when 3D Systems introduced it for their SLA-1 printer. This printer, using stereolithography, utilized a UV laser to solidify synthetic resin layer by layer, gradually forming a 3D model. However, unlike the SLA-1, many home 3D printers today use Fused Deposition Modeling (FDM), where molten plastic is incrementally layered by a movable nozzle to construct the model.

Initially, STL stood for “stereolithography,” but over time, it evolved into “Standard Tessellation Language” or even “Standard Triangle Language.”

The designation of “Standard Tessellation Language” isn’t random. It stems from the fact that tessellation, the division of a surface into contiguous shapes like tiles, is the foundation of an STL file. In STL, triangles are used for this tiling process, a method known as triangulation.

Within an STL file, the external surface of a 3D model is represented by triangles, with the coordinates of their vertices stored within the file. However, it’s impossible to perfectly represent every shape with triangles; for instance, a sphere cannot be seamlessly divided into triangles. As a result, an STL file provides only an approximation of a 3D model.

The quality of this approximation hinges on the number of triangles used. While more triangles yield a better approximation, they also lead to larger files that may surpass the resolution capabilities of 3D printers. Hence, striking a balance between resolution and file size is crucial. Too few triangles result in visible edges in the model, whereas excessively high resolution is futile given the printer’s limited capability.

Adjusting parameters like Chord Tolerance or Angular Control can impact the resolution of the STL file. For simpler geometries with fewer curves, the file size typically remains modest, usually a few hundred kilobytes. 

3D designers creating an STL file
3D designers creating an STL file

Section 2: Creating an STL File

STL files, essential for 3D printing, are typically generated by exporting a 3D model from design software. Given the wide acceptance of the STL format, almost all 3D modeling tools support it.

When exporting, users can adjust the tolerance, dictating the maximum distance between the original 3D model’s surface and the STL file’s representation. For example, even a spherical model created from triangles won’t be perfectly round, leaving slight gaps between the original and the triangular representation.

It’s generally advised to set the tolerance to about one twentieth of the 3D printer’s layer thickness. For instance, with a 0.2 mm layer thickness, a 0.01 mm tolerance is recommended. Additionally, users can fine-tune the angle between the tiles, although this may increase the file size.

However, not all STL files are suitable for 3D printing; the model must be watertight for a successful print. To optimize results, it’s wise to adjust the resolution of STL files within CAD software.

Every CAD program has its method for adjusting STL resolution, often through parameters like chord height and angle. Chord height determines the maximum distance between the original model’s surface and the STL file’s surface, while the angle regulates the deviation between adjacent triangles’ normals.

For guidance on exporting STL files, consider the following instructions tailored to popular CAD software:

  • In Geomagic Design (former Alibre), access the “Export” feature under “File” and save the file as an STL.
  • For AutoCAD, ensure the model is in 3D space and use the “STLOUT” command to export.
  • With SolidWorks, choose “Save As,” select STL as the file type, adjust resolution settings, and save the file.
  • In Unigraphics, navigate to “File,” then “Export,” and choose “Rapid Prototyping” to configure settings before exporting the file.
STL file of A 3D model
STL file of A 3D model

Section 3: Opening an STL File

Opening STL files is a straightforward process, thankfully. There are numerous free STL file viewers accessible online or as desktop applications.

Desktop applications like Microsoft’s 3D Viewer and online STL viewers provide convenient ways to examine 3D models without needing hefty CAD software. Moreover, some online services enable you to view STL files directly in your browser, eliminating the need for downloads.

Should you prefer a desktop application, Microsoft’s 3D Viewer stands out as an excellent option. It’s a user-friendly program designed for viewing 3D objects, including STL files and animated renders in formats like FBX.

However, Autodesk, renowned for CAD software, offers a professional-grade STL viewer accessible with a free Autodesk account. This online 3D viewer offers advanced features like model explosion, measurement tools, sectioning, markup, and more. Although it lacks full-model measurements, it supports the most common 2D and 3D formats used by professionals.

While STL viewers are handy for previewing 3D models, they typically don’t allow for model alterations. Not to worry! Editing STL files and converting them to other formats is entirely possible using specialized software.

To edit an STL file, you’ll need fully-fledged computer-aided design (CAD) or 3D modeling software. There are several options available, many of which are free, such as FreeCAD, SketchUp, Blender, and MeshMixer. These programs make the editing process straightforward and accessible to anyone.

Section 4: How Does it Work?

The STL file format provides two methods for storing information about the triangular faces that cover an object: ASCII encoding and binary encoding. In both formats, details such as the coordinates of each vertex and the components of the unit normal vector for each triangle are stored.

In ASCII STL files, the file starts with the line “solid <name=””>,” where <name=””> represents the name of the 3D model. Following this, information about each triangle, including the normal vector and vertex coordinates, is listed.

Conversely, binary STL files commence with an 80-character header followed by the total number of triangles. Each triangle is denoted by twelve 32-bit floating-point numbers, representing the normal vector and vertex coordinates.

To ensure precise model representation, the STL specification incorporates various rules. The vertex rule mandates that each triangle shares two vertices with adjacent triangles, while the orientation rule guarantees outward-facing normals and counterclockwise vertex listing from the exterior.

Furthermore, the All Positive Octants Rule stipulates that all vertex coordinates must be positive, optimizing space usage by enabling the use of unsigned numbers for coordinates.

Lastly, the Triangle Alignment Rules streamline the slicing process for 3D models, though their enforcement is not strict. These regulations collectively maintain data consistency and help identify corrupted data, thereby enhancing the reliability of STL files.

3D printing from an STL file
3D printing

Section 5: 3D Printing an STL File

Preparing a 3D model for printing involves using a slicer, which is software that translates digital designs into instructions for the 3D printer. This process, known as slicing, breaks down the model into layers and calculates printing parameters such as material usage and printing duration based on user-defined settings.

After slicing, the instructions are compiled into a GCode file, which serves as the printer’s native language. The slicer’s settings significantly influence print quality, underscoring the importance of selecting suitable software and configurations.

Subsequently, the printer follows the instructions outlined in the GCode file, depositing layers of material successively to construct the object layer by layer on the print bed.

However, not all 3D designs are print-ready. STL files, while widely used for 3D models, do not guarantee printability. Designs must meet specific criteria, including minimum wall thickness and a seamless surface, to ensure successful printing.

Additionally, consideration must be given to protruding elements in the model, as steep angles may necessitate additional support structures during printing.

Before initiating the printing process, it is prudent to inspect downloaded STL files to verify their compatibility with 3D printing. This precaution helps prevent wasted time, materials, and frustration.

The STL file format, characterized by triangles resembling the surface of a CAD model, introduces some roughness to the final print. but While smaller triangles can enhance print quality, they also increase file size, potentially leading to compatibility issues.

Striking a balance between file size and print quality is essential, as excessively large files strain printers and complicate sharing. By aiming for an optimal balance, you can ensure efficient printing without compromising on quality.

STL vs PLY files
STL vs PLY files

Section 6: Alternatives to STL Format

Given its creation over three decades ago, it’s no surprise that the STL file format faces several limitations. Initially designed to capture only the external structure of a 3D model, it lacks the ability to store details like color or texture. This wasn’t problematic in the early days of 3D printing when single-material prints were the norm.

However, the STL format isn’t the sole option for 3D printing. With over 30 file formats available, alternatives like OBJ and PLY offer solutions for preserving color and texture profiles. Despite attempts to address its shortcomings, the STL format still lacks standardization for incorporating color information, hindering its adaptability to evolving printing technologies.

Moreover, STL files cannot store metadata such as authorship details, prompting the development of more comprehensive formats like the Additive Manufacturing File Format (AMF). AMF, recognized as STL 2.0, introduces support for color, material, and texture alongside metadata, offering a more holistic approach to 3D model representation.

In recent years, initiatives like the 3D Manufacturing Format (3MF) have emerged, aiming to revolutionize the 3D printing process. With backing from industry leaders such as Microsoft and Autodesk, 3MF proposes a modernized approach with enhanced features like built-in support for material and color information. While its potential as an STL successor is promising, widespread adoption remains uncertain. Nonetheless, these advancements underscore a collective effort to overcome the limitations of traditional file formats and usher in a new era of 3D printing technology.


To wrap up, answering the question “what is an STL file” should now be much clearer after going through this post. By now, you have gained an understanding of how the STL file format represents the layout of a 3D model through triangles or tessellation. Furthermore, optimizing STL files for optimal 3D printing quality simply requires adjusting specific settings such as chord height and angular tolerances. However, the limitation of STL files in storing color and texture opens up opportunities for alternative formats like OBJ and PLY, which can be used when necessary. Overall, this comprehensive discussion on STL files should equip you with valuable insights to enhance your 3D design endeavors.



  • How do I choose the best software for editing STL files?

Different kinds of 3D printing software can be employed either separately or in combination to cover the entire 3D printing process, from a digital 3D model to a tangible printed object.

However, the choice of the most suitable STL editing software depends on various factors. These factors include the operating system of your computer and its capabilities. Furthermore, it also relies on whether you need cloud storage with additional features such as collaboration and team editing. In essence, the best software for editing STL files should possess essential features. These features encompass the ability to modify 3D designs, an intuitive user interface, support for various file formats, and customizable settings tailored to specific editing requirements.

  • Can STL files represent color and texture in 3D models?

Although STL files have become the go-to format for storing 3D model designs, they do have their limitations. One major drawback is their inability to represent color and texture, which are often crucial for many 3D design projects. Despite this limitation, there exists a non-standard version of the STL format that can actually carry color information.

For instance, software packages like VisCAM and Solidview utilize a system to store 15-bit RGB colors, with “property bytes” attached to the ends of each triangle. However, these solutions are not widely accessible. On the other hand, alternative formats such as OBJ, PLY, and the more recent 3MF formats offer support for color and texture, providing additional flexibility for users.

  • What are the key differences between ASCII and binary STL files, and which should I use?

There are significant distinctions between ASCII and binary STL files, primarily in their size and syntax structure. ASCII STL files tend to be larger, while binary STL files are typically smaller. Moreover, unlike ASCII STL files, binary STL files with an 80-character header do not commence with the ASCII representation of the word “solid.” This difference is essential to prevent confusion with ASCII STL files by specific software programs.


Gary Liao

Gary Liao

Gary Liao is the Engineering Manager of TDL Company and has more than 20 years of mold design experience.

Contact Our Experts

Send us a Email, we will feedback to you ASAP!