Introduction
Binary STL is the form of the stereolithography format that slicers, CAD programs and model sites use almost everywhere. It stores each triangle in a fixed 50 bytes, so a file is much smaller than the same model in ASCII STL and quick to read.
The two bytes at the end of each triangle are officially an attribute byte count and normally zero. Some programs use them for a colour per triangle, but there is no agreed way to do so.
Structure
A binary STL file starts with an 80-byte header that readers ignore, then a 32-bit
count of triangles. Each triangle follows in 50 bytes: a normal and three corner
positions, each three 32-bit little-endian floats, then a 16-bit attribute byte count.
The file size is therefore exactly 84 + 50 × count.
0Header free text, ignored by readers80 bytes80Count number of triangles, unsigned 32-bit4 bytes84Triangles one after another50 bytes each+0Normal x, y, z as floats12 bytes+12Vertices three corners, x, y, z each36 bytes+48Attribute byte count usually 02 bytes
Links
Software
- PrusaSlicer (Windows, macOS, Linux)
- UltiMaker Cura (Windows, macOS, Linux)
- Bambu Studio (Windows, macOS, Linux)
- OrcaSlicer (Windows, macOS, Linux)
- Blender (Windows, macOS, Linux)
- MeshLab (Windows, macOS, Linux)
- FreeCAD (Windows, macOS, Linux)
- Autodesk Fusion (Windows, macOS)