# .usdz MIME Type: model/vnd.usdz+zip

> Apple's AR format: a USD scene in an uncompressed ZIP archive. Opens in AR Quick Look on iPhone and iPad.

- MIME type: `model/vnd.usdz+zip`
- Extensions: .usdz
- Content-Type header: `model/vnd.usdz+zip`
- Compress in transit: no (already compressed)
- File signature: `50 4B 03 04` (the ZIP signature — this format is a ZIP archive inside)

## Good to know

- Wrap an `<img>` in `<a rel="ar" href="model.usdz">` and Safari on iOS opens AR Quick Look. Apple's guidance is to serve the file as `model/vnd.usdz+zip`; with a generic type, Safari may download it instead.
- Android's equivalent is Scene Viewer, which loads [.glb](https://www.devkult.com/mime/glb.md) files.

## Server configuration

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

```
model/vnd.usdz+zip usdz;
```

### Apache (.htaccess or server config)

```
AddType model/vnd.usdz+zip .usdz
```

### Express

```
res.set("Content-Type", "model/vnd.usdz+zip");
```

### Python

```
import mimetypes

mimetypes.add_type("model/vnd.usdz+zip", ".usdz")
```

### HTML file input

```
<input type="file" accept=".usdz,model/vnd.usdz+zip">
```

## FAQ

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

`model/vnd.usdz+zip`.

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

`Content-Type: model/vnd.usdz+zip`. It's already compressed, so servers shouldn't gzip it.

### How can I tell if a file is really a .usdz?

Check its bytes rather than the extension: USDZ files start with `50 4B 03 04` (`PK..`) — the ZIP signature — this format is a ZIP archive inside. On the command line, `file --mime-type name.usdz` does this for you.

## Related types

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

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