What is the ZST file format?
A .zst file is a Zstandard Compressed File, produced by the zstd compression tool originally developed at Meta (Facebook) by Yann Collet and released in 2015. The format was standardized in 2018 as RFC 8478.
Zstandard is a single-stream lossless compressor - it wraps one data stream, not a collection of files. To compress multiple files together, the standard practice is to create a .tar archive first and then compress it with zstd, producing the widely encountered .tar.zst form. Both share the same 4-byte frame magic (28 B5 2F FD at byte offset 0).
The format targets the gap between speed-focused compressors like .gz and ratio-focused ones like .xz: it achieves xz-class compression ratios at speeds comparable to or faster than gzip. Compression levels run from 1 (fastest) to 22 (best ratio), with optional dictionary training for small or structurally similar files. An optional truncated xxHash-64 checksum in the frame footer guards data integrity.
.zst sees wide real-world deployment:
- Arch Linux packages ship as
.pkg.tar.zst - Debian uses Zstandard for internal
.debmembers - The Linux kernel supports Zstandard-compressed initramfs images
- Btrfs and OpenZFS offer
zstdas a transparent on-disk compression option
Security & safety
RISK: LOWZstandard is a compression format with no executable code and no scripting, so the container itself is safe; risk comes only from what's INSIDE (e.g. extracted executables or scripts) - scan extracted contents as usual. A malformed .zst can't run code, though extremely high compression ratios mean a tiny file can expand to a huge one ('zip-bomb'-style), so be wary of untrusted archives. Zstandard does not encrypt - sensitive data needs separate encryption.
Format details
in a nutshell- ZSNES SNES emulator save state - Old ZSNES (Super Nintendo emulator) wrote save states as .zst; an uncommon legacy meaning unrelated to Zstandard compression.
Programs that open ZST files
Technical details
deep spec| Magic bytes | 28 B5 2F FD (hex), little-endian 0xFD2FB528, at byte offset 0 |
| MIME type | application/zstd (also application/x-zstd) |
| Encoding | Binary |
| Byte order | Little-endian |
| Compression algorithm | LZ77-style match-finding combined with FSE/tANS (Asymmetric Numeral Systems) entropy coding |
| Compression levels | 1-22; --fast for sub-level-1 speed; --ultra to push ratios beyond level 19 |
| Dictionary support | Yes; train a custom dictionary with zstd --train to improve ratios on small or structurally similar files |
| Content checksum | Optional 32-bit truncated xxHash-64 stored in the frame footer; enabled with the --check flag |
| Frame types | Standard frames (magic 28 B5 2F FD) and skippable frames (magic range 50 2A 4D 18 - 5F 2A 4D 18) |
| Multi-file support | None native; combine files with tar first (producing .tar.zst), or use zstd -r for recursive directory compression |
| Long-distance matching | Optional LDM mode (--long flag) extends the effective match window; improves ratio on large files with distant redundancy |
| Window size | Up to 2 GB with standard levels; LDM mode extends the effective matching range beyond the default window |
| Streaming | Single continuous stream; the Zstandard Seekable Format extension uses skippable frames to enable random-access decompression |
| Associated platforms | Linux, Windows, macOS, BSD - cross-platform reference library (libzstd) available for all major OS |
| Released | 2015 (zstd released by Facebook); format standardized as RFC 8478 (2018) |
| Latest version | Zstandard frame format per RFC 8478; reference library zstd 1.5.x (skippable frames, dictionaries, long-distance matching) |
| Open standard | Yes · royalty-free |
| Specification | datatracker.ietf.org |
ZST conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about ZST files.