devkult_
tools30converters34
home/mime/.zst

.zst MIME type

Zstandard filearchives

application/zstd

Zstandard-compressed files (RFC 8878): gzip-like speed with much better ratios.

MIME typeapplication/zstd
Extensions.zst
Content-Typeapplication/zstd
Compress in transit?No — already compressed
File signature28 B5 2F FD

Good to know

  • Zstandard also works as HTTP compression — Chromium and Firefox accept Content-Encoding: zstd. That's separate from serving a .zst download as application/zstd; see Content-Encoding.
  • .tar.zst is now common for distribution packages, including Arch Linux's.

Serve .zst files with the right type

The response header to send:

Content-Type: application/zstd

Most servers pick the type from the file extension. If yours sends the wrong one, map it explicitly:

nginx (inside the types block in mime.types)
application/zstd zst;
Apache (.htaccess or server config)
AddType application/zstd .zst
Express
res.set("Content-Type", "application/zstd");
Python
import mimetypes

mimetypes.add_type("application/zstd", ".zst")
HTML file input
<input type="file" accept=".zst,application/zstd">

Check it

See what a server sends for a file, and what type a local file really is by its contents:

curl -sI https://example.com/file.zst | grep -i '^content-type:'
file --mime-type file.zst

Frequently asked questions

What is the MIME type for .zst files?

application/zstd.

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

Content-Type: application/zstd. It's already compressed, so servers shouldn't gzip it.

How can I tell if a file is really a .zst?

Check its bytes rather than the extension: ZST files start with 28 B5 2F FD. On the command line, file --mime-type name.zst does this for you.

Related types

Headers that go with it: Content-Type · Content-Disposition · X-Content-Type-Options