# .stl MIME Type: model/stl

> Triangle meshes for 3D printing and CAD.

- MIME type: `model/stl`
- Extensions: .stl
- Also seen as: `application/sla`
- Content-Type header: `model/stl`
- Compress in transit: yes

## Good to know

- Apache's stock `mime.types` maps `.stl` to `application/vnd.ms-pki.stl` — a Windows certificate trust list. Override it if you serve 3D files.
- Binary STL has no signature: an 80-byte header, then a triangle count. ASCII STL starts with `solid`, but so do some binary files, so check that the size is 84 + 50 × the triangle count.
- STL stores geometry only — no units, colors or textures. Use 3MF or glTF when those matter.

## Server configuration

### nginx (inside the types block in mime.types)

```
model/stl stl;
```

### Apache (.htaccess or server config)

```
AddType model/stl .stl
```

### Express

```
res.set("Content-Type", "model/stl");
```

### Python

```
import mimetypes

mimetypes.add_type("model/stl", ".stl")
```

### HTML file input

```
<input type="file" accept=".stl,model/stl">
```

## FAQ

### What is the MIME type for .stl files?

`model/stl`. You may also see `application/sla`, but `model/stl` is the one to send.

### What Content-Type header should a .stl file be served with?

`Content-Type: model/stl`. It compresses well, so let the server apply gzip or Brotli.

## Related types

- [.obj — model/obj](https://www.devkult.com/mime/obj.md)
- [.glb — model/gltf-binary](https://www.devkult.com/mime/glb.md)
- [.gltf — model/gltf+json](https://www.devkult.com/mime/gltf.md)

Open the interactive page: https://www.devkult.com/mime/stl