Skip to content

ASCIISTL (.stl)

.stl file signature | model/stl

ASCII STL (STereoLithography) is a text-based 3D geometry file format originally developed by 3D Systems and used as a de facto interchange format in additive manufacturing. It is used to describe the surface geometry of parts for 3D printing, prototyping, computer-aided design, and model exchange between software tools. The format is simple and widely supported, but it stores only mesh data and no units, color, or material information.

Safe

Magic Bytes

Offset 0
73 6F 6C 69 64

Sources: Gary Kessler

Extension

.stl

MIME Type

model/stl

Byte Offset

0

Risk Level

Safe

Validation Code

How to validate .stl files in Python

Python
def is_stl(file_path: str) -> bool:
    """Check if file is a valid STL by magic bytes."""
    signature = bytes([0x73, 0x6F, 0x6C, 0x69, 0x64])
    with open(file_path, "rb") as f:
        return f.read(5) == signature

How to validate .stl files in Node.js

Node.js
function isSTL(buffer: Buffer): boolean {
  const signature = Buffer.from([0x73, 0x6F, 0x6C, 0x69, 0x64]);
  return buffer.subarray(0, 5).equals(signature);
}

How to validate .stl files in Go

Go
func IsSTL(data []byte) bool {
    signature := []byte{0x73, 0x6F, 0x6C, 0x69, 0x64}
    if len(data) < 5 {
        return false
    }
    return bytes.Equal(data[:5], signature)
}

API Endpoint

GET /api/v1/stl
curl https://filesignature.org/api/v1/stl

See the full API documentation for all endpoints and parameters.

Related Formats

Frequently Asked Questions

What is a .stl file?

A .stl file is a ASCIISTL file. ASCII STL (STereoLithography) is a text-based 3D geometry file format originally developed by 3D Systems and used as a de facto interchange format in additive manufacturing. It is used to describe the surface geometry of parts for 3D printing, prototyping, computer-aided design, and model exchange between software tools. The format is simple and widely supported, but it stores only mesh data and no units, color, or material information.

What are the magic bytes for .stl files?

The magic bytes for ASCIISTL files are 73 6F 6C 69 64 at byte offset 0. These bytes uniquely identify the file format regardless of the file extension.

How do I validate a .stl file?

To validate a .stl file, read the first bytes of the file and compare them against the known magic bytes (73 6F 6C 69 64) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.

What is the MIME type for .stl files?

The primary MIME type for .stl files is model/stl.

Is it safe to open .stl files?

ASCIISTL (.stl) files are generally safe to open. They are classified as low risk because they primarily contain data rather than executable code. However, always ensure files come from a trusted source.