What is an STL File? Explaining the STL Format

STL file format

An STL file, short for Stereolithography, is a widely used file format for 3D printing and CNC machining. Essentially, an STL file stores information about 3D models, describing only the geometry of the three-dimensional object’s surface without including color, texture, or other general attributes of the model.

These files are typically generated by Computer-Aided Design (CAD) software as the final output of the 3D modeling process. You can identify STL files by their “.stl” file extension.

Here’s a concise overview of their origin, file type specifics, how they work, the advantages and disadvantages of their use, and alternative file formats to consider.


The STL file format is the go-to choice for 3D printing and CNC machining. It has been adopted and supported by many CAD software packages from the very beginning. Today, it finds widespread use in rapid prototyping, 3D printing, and computer-aided manufacturing, catering to both hobbyists and professionals alike.

How Does the STL File Format Store Models?

The primary purpose of the STL file format is to encode the geometry of a three-dimensional object’s surface. It achieves this through a simple concept known as “tessellation.”


Tessellation is the process of covering a surface with one or more geometric shapes without overlaps or gaps. Imagine a tiled floor or wall – that’s a perfect example of tessellation.


To 3D print an STL file, you need to import it into slicing software, often referred to as a “slicer.” A slicer is a component of 3D printing software that translates digital 3D models into printing instructions for your 3D printer to create an object.

Based on your chosen settings, the slicer breaks down your STL file into hundreds (sometimes thousands) of flat horizontal layers and calculates how much material your printer needs to extrude and how much time it will take.

All this information is then converted into G-code – the native language of your 3D printer. Slicer settings impact print quality, making proper software and settings crucial for achieving the best possible prints.

Once the G-code is loaded onto your 3D printer, the machine follows the instructions sequentially. Individual 2D layers are printed one after another, gradually forming a three-dimensional object on the print bed.


Regrettably, no. Only 3D designs intentionally created for 3D printing are suitable for the process. An STL file is merely a container for data, not a guarantee that something can be printed.

3D models fit for 3D printing must have wall thicknesses aligned with the printer’s resolution and “watertight” surface geometry. Even if a model appears three-dimensional on your computer screen, it might have errors in its geometry that prevent it from being solid or manifold, meaning it can’t be unfolded onto a 2D surface with all normals facing the same way.

When using an STL file you haven’t created yourself, it’s essential to ensure it’s truly printable. This can save you a lot of time, frustration, and material.

Several programs can help repair corrupted STL files. Meshmixer, for example, is an excellent free tool for addressing common STL file issues.


The STL file format offers two ways to store information about the triangular facets forming the object’s surface mosaic: ASCII encoding and binary encoding.

You can export an STL file in either binary or ASCII format. Binary is generally recommended for 3D printing due to its smaller file size. However, if you want to manually debug an STL file, ASCII is preferable as it’s easier to read.


While the STL format is prevalent, it’s not the sole file format used in 3D printing. There are over 30 file formats for 3D printing, with the OBJ format being significant. It can store color profiles and textures. Another option is the Polygon (PLY) file format, initially designed for storing 3D-scanned objects.

Recently, the 3MF Consortium introduced attempts to launch a new file type called 3MF, short for 3D Manufacturing Format. This open-source file extension includes additional relevant information such as duplicates, printer profile settings, supports, layer height, modifications, units, color, texture, and even thumbnails. Despite its advantages, it hasn’t yet gained enough traction to replace STL as the convenient file format for 3D printing. However, over time, it’s undoubtedly gaining popularity, with many 3D printer manufacturers offering it as a default scene file format.