Vertices
Each triangle has three corner points defined by X, Y, Z coordinates in 3D space. STL does not store connectivity between triangles — each facet is independent.
STL BuddyThe STL file format is the backbone of 3D printing — a simple mesh of triangles that every slicer and printer understands. This guide covers what STL stands for, how the format works, ASCII vs. binary encoding, format comparisons, common mesh issues, and best practices for print-ready files.
STL stands for Stereolithography — named after the resin 3D printing process Chuck Hull invented and patented in 1986. It is also called Standard Tessellation Language because the format tessellates curved 3D surfaces into flat triangles.
An STL file describes a three-dimensional object as a collection of triangular facets — a surface mesh with no interior data, no color, and no material properties. Each triangle stores three vertex coordinates (X, Y, Z) and a surface normal vector that indicates which side is "outside."
That simplicity is why STL became the de facto standard for 3D printing. Because STL stores only geometry, every slicer, every download site, and virtually every 3D printer speaks STL without compatibility layers. When someone says they have a "3D printable file," they almost always mean an STL.
STL was born alongside the first commercial 3D printers and has outlasted every format that tried to replace it. Understanding where STL came from explains why it remains central to additive manufacturing today.
Chuck Hull patents stereolithography (SLA) — the resin 3D printing process that gave STL its name.
3D Systems introduces the STL file format to describe SLA part geometry as triangulated surfaces.
STL adoption spreads to CNC machining and early FDM printers. It becomes the de facto exchange format for additive manufacturing.
Open-source slicers (Skeinforge, Cura, Slic3r) and model repositories (Thingiverse, Printables) cement STL as the maker default.
3MF and GLTF emerge as richer alternatives, but STL remains the universal format every slicer, download site, and printer accepts.
Every STL file — whether binary or ASCII — contains the same data: a list of triangles defined by three vertices and a normal vector. Your slicer reads this mesh, slices it into horizontal layers, and generates toolpaths for your printer. There is no parametric data, no NURBS surfaces, and no object hierarchy — just a soup of triangles approximating the outer surface.
Each triangle has three corner points defined by X, Y, Z coordinates in 3D space. STL does not store connectivity between triangles — each facet is independent.
A unit vector perpendicular to each triangle indicates which side is "outside." Consistent normals are essential for correct slicing and mesh repair.
Curved CAD surfaces are subdivided into flat triangles at export. Finer tessellation captures detail but increases file size — match resolution to your print settings.
High-resolution organic models can produce files with millions of triangles. That is why mesh optimization matters before slicing — and why inspecting your STL in a browser-based viewer before sending it to the slicer saves time and filament.
STL comes in two encodings that store identical geometry. The only difference is how the triangle data is written to disk.
Human-readable plain text. Each triangle lists a facet normal and three vertex coordinates. Easy to debug in a text editor but produces files 4–5× larger than binary.
Use ASCII when:
Compact binary encoding preferred for sharing and storage. Same geometry as ASCII, much smaller file size — the format most CAD exporters and download sites use by default.
Use binary when:
Open the file in MeshLab, Blender, Microsoft 3D Builder, or your slicer (Cura, PrusaSlicer), then re-export with the desired encoding. You can also use the 3D model converter for quick format changes. Slicers treat both encodings identically — conversion never changes the underlying geometry.
STL is not the only 3D file format — but it is the one every printer understands. Compare the most common alternatives and when to use each.
| Format | Geometry | Color | Units | Best for |
|---|---|---|---|---|
| STL | Triangles only | No | No header | Universal 3D printing |
| OBJ | Triangles + polygons | Yes (MTL + textures) | No header | Rendered models with textures |
| 3MF | Triangles + mesh data | Yes (embedded) | Yes (millimeters) | Multi-color & modern slicers |
| GLTF / GLB | Triangles + scene graph | Yes (PBR materials) | Yes (meters default) | Web, AR/VR, and real-time 3D |
Use STL for 3D printing, OBJ when you need textures for rendering, 3MF for multi-color modern slicer workflows, and GLTF/GLB for web viewers, AR/VR, and real-time 3D. For a deeper comparison with conversion guides, see our STL vs OBJ vs 3MF guide .
Most print failures trace back to the STL mesh itself — not slicer settings. These are the problems you will encounter most often and how to fix them.
Edges shared by more than two triangles, or vertices where the surface is not watertight. Slicers cannot determine inside from outside, causing fill errors and failed prints. Repair with STL Buddy's repair tool, Meshmixer, or your slicer's mesh fixer.
Missing triangles leave openings in the mesh. The slicer may treat the model as hollow or generate incomplete perimeters. Fill holes in Blender or Meshmixer, or use automated hole-filling in a repair tool before slicing.
Walls thinner than 2–3× your nozzle diameter (typically 0.8–1.2 mm for a 0.4 mm nozzle) may not print reliably. Scale the model, thicken walls in CAD, or adjust slicer settings — but fixing geometry at the source produces the most consistent results.
Triangle normals pointing inward make the slicer think the outside is inside. Surfaces may disappear or slice incorrectly. Flip normals in your 3D tool or run a mesh repair pass to unify face orientation.
Whether you need to create an STL from a photo, inspect an existing file, repair mesh problems, or convert between formats — STL Buddy handles it in your browser with no CAD software required.
Turn JPG, PNG, or logo artwork into a printable 3D model. Adjust relief depth, base thickness, and dimensions — then download a watertight STL.
Convert image to STL →Upload any STL to the free online viewer. Rotate, zoom, and inspect surface quality before slicing — no desktop software required.
Open STL viewer →Fix non-manifold edges, holes, and inverted normals with the free STL repair tool. Re-upload the cleaned file to confirm the surface looks correct.
STL repair tool →Convert between STL, OBJ, 3MF, and GLB formats, or use dedicated converters for PNG, JPG, and logo files.
3D model converter →Start with the image-to-STL converter , PNG to STL , or JPG to STL tools — then preview and repair before slicing.
A valid STL export is not always a good STL export. Apply these practices before you hit slice to save filament and frustration.
Design walls at least 2–3× your nozzle width. For functional parts, 1.2–2.0 mm minimum per wall is a safe starting point on FDM printers with a 0.4 mm nozzle.
Overhangs beyond 45° usually need supports. Orient the model to minimize overhangs, place large flat surfaces on the build plate, and preview in your slicer before committing filament.
Export binary STL instead of ASCII, match mesh resolution to your layer height, and decimate high-polygon scans in Meshmixer or Blender. Smaller files upload faster and slice more quickly.
STL has no built-in unit header. Confirm your CAD software exports in millimeters (the slicer default) and double-check dimensions after import — a model in inches interpreted as millimeters prints 25× too small.
Need a slicer recommendation? See our best 3D printing software guide or browse free STL download sites when you are ready to print.
Convert Image to STL
Turn any JPG or PNG into a printable STL file.
STL Viewer
Open and inspect STL files online — no install required.
PNG to STL
Convert PNG images to 3D-printable relief models.
3D Model Converter
Convert between STL, OBJ, 3MF, and GLB formats.
STL vs OBJ vs 3MF
Detailed format comparison with conversion guides.
What Is STL? (Quick Overview)
Shorter introduction to STL files and the 3D printing workflow.
Common questions about the STL file format, explained for beginners.
STL most commonly stands for Stereolithography — the resin-based 3D printing process Chuck Hull patented in 1986. It is also referred to as Standard Tessellation Language because the format tessellates (subdivides) curved 3D surfaces into flat triangles. Both names refer to the same .stl file extension used across the industry today.
Both formats store identical triangle mesh data — only the encoding differs. ASCII STL is human-readable plain text and produces files roughly 4–5× larger. Binary STL packs the same geometry into a compact binary stream. Slicers and viewers treat both identically; use binary when sharing or storing large models.
STL remains the safest default because every slicer and printer supports it without conversion. Newer formats like 3MF add color, multiple objects, and print metadata, but STL is still the lowest-common-denominator format. For general FDM and resin printing, STL is the best choice unless your workflow specifically benefits from 3MF.
Non-manifold geometry, gaps and holes, inverted normals, and walls thinner than your nozzle can print are the most frequent STL issues. These cause slicing warnings, missing layers, or prints that fall apart. Inspect meshes in an STL viewer and run repair before slicing to catch problems early.
Open the file in MeshLab, Blender, Microsoft 3D Builder, or your slicer, then re-export with the desired encoding. Most CAD exporters default to binary STL. Use ASCII only when you need to inspect or debug the raw triangle data in a text editor.
Upload a JPG or PNG to STL Buddy's convert-image-to-stl tool. The converter maps pixel brightness to 3D height, generates a watertight triangle mesh, and lets you preview and download a printable STL — no CAD software required.
Convert a photo to a printable STL or inspect an existing file in your browser — no CAD software or downloads required.