📖 What is a ZST File?
A ZST file is a file that has been squeezed down with Zstandard, a modern compression method built for speed. Because the compression is lossless, unpacking a ZST file gives back the original file exactly, just after it has spent some time in a smaller form.
The name comes from Zstandard, often shortened to zstd, which is the method used to shrink the file. Compression works by spotting patterns and repetition in data and storing them more compactly, and Zstandard does this quickly while still reaching high space savings. Facebook created it to move and store large amounts of data faster than older tools allowed, and it has since spread far beyond Facebook into Linux systems, databases and software of all kinds.
It helps to remember that a plain ZST file holds a single compressed file, not a folder full of them. On its own, Zstandard takes one file such as a database dump or a log and makes a smaller .zst copy. When people need to pack a whole folder, they usually pair it with another tool that bundles the files together first, which is where the common .tar.zst name comes from. Either way, a ZST file is not something you read directly, but something you decompress to get back what was put in.
Key Characteristics
- A compressed file made smaller by Zstandard
- Lossless, so nothing is lost
- Built for speed by Facebook
- Common on Linux and in servers
Good to Know
- Zstandard means the method used to compress
- Holds one file, unless paired with tar
- Faster than gzip at similar sizes
- Open source and free to use
⚡ Quick Facts
| File Extension | .zst |
| Full Name | Zstandard, or zstd |
| What It Is | A file compressed with Zstandard |
| Created By | Yann Collet, at Facebook |
| First Released | 2015 |
| Compression | Lossless |
| Standard | RFC 8878, media type application/zstd |
| Archive Form | .tar.zst |
⚙️ How Zstandard Works
Understanding a little of what Zstandard does under the hood explains why it caught on so quickly. Its whole design is about being fast without giving up much space saving.
Like most compressors, Zstandard hunts for repeated stretches of data and replaces them with short references, so a file with a lot of repetition shrinks a great deal. It builds on a well-known technique from the LZ77 family and adds a very fast final stage that squeezes the result further. What sets it apart is the balance it strikes, reaching space savings close to the best older tools while working several times faster at both packing and unpacking, with fast modes compressing well over two hundred megabytes a second per processor core and decompression staying above five hundred megabytes a second whatever level was used. Because the compression loses nothing, the file that comes back out is an exact copy of what went in, which matters when you are storing backups, code or data you cannot afford to alter.
🗂️ One File vs an Archive
A point that trips people up is what a ZST file actually contains, so it is worth being clear. By itself, Zstandard is a compressor, not a bundler.
When you compress something with Zstandard on its own, it takes a single file and produces a single smaller file with .zst added to the name, and it does not gather several files or a folder into one. This is the same way the older gzip tool behaves. To package a whole directory, you first join its contents into one file with a bundling tool called tar, and then let Zstandard compress that combined file, which produces the familiar .tar.zst. So a bare .zst usually wraps one thing, such as a large log or a database export, while a .tar.zst wraps many files that were tarred together first. Knowing which you have tells you what to expect when you unpack it.
📦 The .tar.zst Archive
You will meet .tar.zst far more often than a plain .zst, especially around Linux, software packages and servers, so it helps to understand the two parts of that name.
The name stacks two steps. First tar collects a group of files and folders into one continuous file, keeping their names and structure but without shrinking anything. Then Zstandard compresses that single tar file into a much smaller one, adding the .zst ending. Reading the name from right to left tells you the order to undo them, decompress with Zstandard, then unpack with tar. Handily, the standard tar tool can drive both steps at once, so a single command creates or extracts a .tar.zst without you juggling two tools. This split, one tool to gather and another to compress, is exactly the same idea as the older .tar.gz, with Zstandard swapped in for speed.
Creating and extracting a .tar.zst
# pack a folder into a compressed archive tar --zstd -cf archive.tar.zst my-folder/ # extract it again tar --zstd -xf archive.tar.zst
🎚️ Compression Levels
One reason Zstandard suits so many jobs is that you can dial how hard it works. It offers a wide range of levels that trade speed against how small the file becomes.
The levels run from one at the fast end up to twenty-two at the most thorough, with a sensible default in the middle. A low level packs data very quickly with a decent saving, which suits things like live network traffic or logs being written all the time, where speed matters most. A high level spends more effort to squeeze the file as small as possible, which is worth it for something you compress once and keep for a long while. Usefully, the speed of unpacking stays fast whatever level was used to pack, so a file compressed slowly at a high level still decompresses quickly. This range is a big part of why the same tool shows up in fast live systems and in long-term storage alike.
Low Levels
Pack very fast with a good saving, ideal for live data and logs.
The Default
A middle setting that balances speed and size for everyday use.
High Levels
Work harder for the smallest file, best for long-term storage.
📚 Dictionary Compression
Zstandard has one trick that older tools lack, and it matters a lot for certain jobs. It can use a trained dictionary to compress many small files far better.
Normally a compressor struggles with tiny files, because there is not enough data in each one to find much repetition, so the saving is small. Zstandard can be given a dictionary, built ahead of time from a sample of similar files, that captures the patterns those files tend to share. Armed with that shared knowledge, it can then shrink each small file dramatically, since the common parts are already described in the dictionary. This is a natural fit for things like short messages between servers, streams of log lines or many small database records, all of which look alike. For everyday single files a dictionary is not needed, but for floods of small, similar data it can make a striking difference.
⚖️ ZST vs gzip
Zstandard is most often measured against gzip, the compression tool that has been a default almost everywhere for decades, and the comparison shows why Zstandard has spread so fast.
Gzip, built on an early-1990s method, is dependable and universally supported, but its age shows in its speed. Zstandard reaches similar file sizes while packing several times faster and unpacking faster too, and it can push to smaller sizes than gzip when you turn its level up. The main thing gzip still has going for it is sheer ubiquity, since almost every system understands it out of the box, whereas Zstandard, though very widely supported now, is newer. For a modern setup where speed and size both count, Zstandard is usually the stronger choice, while gzip remains a safe pick when you need something every tool everywhere can read.
| Trait | ZST (Zstandard) | gzip |
|---|---|---|
| Speed | ✓ Much faster | ~ Slower |
| Compression range | ✓ Levels 1 to 22 | ~ Narrower |
| Best size | ✓ Smaller at high levels | ~ Larger |
| Universal support | ~ Very wide, newer | ✓ Everywhere |
📂 How to Open a ZST File
Opening a ZST file means decompressing it to recover whatever was packed inside, and there are friendly options on every system.
The most direct tool is Zstandard's own command, run as zstd -d file.zst, which unpacks the file and leaves the original beside it. On Windows and Mac, the popular archive apps 7-Zip and PeaZip open .zst files with a click, and they handle a .tar.zst too, unpacking both the compression and the bundled files. On Linux the zstd tool is often already installed, and if not it is a quick add from the system's package manager. For a .tar.zst specifically, the single command tar --zstd -xf archive.tar.zst both decompresses and unpacks in one go. Whichever route you take, remember that a ZST file is a wrapper, so opening it really means taking out the file or files it was hiding.
The zstd command
Run zstd -d file.zst to decompress and restore the original file.
7-Zip or PeaZip
On Windows or Mac, these free apps open a .zst or .tar.zst with a click.
tar for archives
Use tar --zstd -xf archive.tar.zst to unpack a folder in one step.
🔧 How to Create One
Making a ZST file is just as simple as opening one, and the same tools do both jobs.
To compress a single file, run zstd file, which produces a smaller file.zst alongside the original. If you want a stronger squeeze, add a higher level such as zstd -19 file, trading a little more time for a smaller result, and by default the original file is kept unless you ask for it to be removed. To pack a whole folder you reach for the .tar.zst approach, letting tar gather everything and Zstandard compress it in one command. The result is a compact archive that is quick to make and quick to unpack later. Because the tool ships for Windows, Mac and Linux, the same simple commands work wherever you are.
Compressing a single file
# compress, keeping the original zstd myfile.txt # makes myfile.txt.zst # compress harder at a higher level zstd -19 myfile.txt # smaller, a little slower
⌨️ Useful Commands and Flags
The zstd tool has a handful of options worth knowing, since they cover almost everything people need day to day. A few short flags change how it compresses, and a couple of built-in shortcuts save typing.
The most common additions are the level, given as a number like -19, and a small set of switches. By default zstd keeps the original file, so --rm tells it to delete the source once compression succeeds, while -k makes the keeping explicit. To check a file rather than unpack it, -t tests that it is intact, and -l lists what is inside a .zst without extracting it. Because zstd was built for modern processors, -T0 spreads the work across every core for a big speed boost on large files, and the same thing has a shortcut, since the command zstdmt is simply zstd with all cores enabled. Two more shortcuts are handy, as unzstd is the same as zstd -d for decompressing, and zstdcat writes the decompressed contents straight to the screen. For the very smallest files there is --ultra -22, which enables the highest levels at the cost of speed.
Common zstd options
zstd --rm file # compress, then delete the original zstd -T0 bigfile # use every CPU core, much faster zstd --ultra -22 file # the smallest possible result zstd -t file.zst # test the file is intact unzstd file.zst # same as zstd -d, decompress
-19 sets the effort, -T0 uses all cores for speed, --rm removes the source, and unzstd or zstd -d unpacks. That covers most everyday work.
🌐 Where ZST Is Used
Once you know what to look for, Zstandard turns up in a surprising number of places, quietly making data smaller and faster to move.
It began inside Facebook, which built it to handle enormous volumes of data efficiently, and it spread quickly from there. Linux distributions adopted it for their software packages, so installing programs on many systems now unpacks .zst files behind the scenes, and the Linux kernel itself can be compressed with it. Databases and big data tools use it to store and shift information, cloud services lean on it for speed, and it even appears in the Tor network and in some games. For everyday users it most often shows up as a .tar.zst download or a package your system handles automatically. In short, Zstandard has become a common modern choice wherever speed and size both matter.
❓ Frequently Asked Questions
A ZST file is a file compressed with Zstandard, often shortened to zstd, a fast lossless compression method. Because it is lossless, unpacking a ZST file returns the original file exactly, just after time spent in a smaller form. Facebook created Zstandard to move and store large amounts of data faster than older tools allowed, and it is now common on Linux, in databases and in software of all kinds. A plain .zst file holds a single compressed file rather than a folder of them, so a ZST file is not read directly but decompressed to recover whatever was packed inside.
The most direct way is Zstandard's own command, run as zstd -d file.zst, which decompresses the file and leaves the original beside it. On Windows and Mac the free archive apps 7-Zip and PeaZip open .zst files with a click, and they handle a .tar.zst too, undoing both the compression and the bundled files. On Linux the zstd tool is often already installed, and if not it is a quick add from the package manager. For a .tar.zst, the single command tar --zstd -xf archive.tar.zst both decompresses and unpacks in one step. Remember that opening a ZST file really means taking out the file or files it was hiding.
A .tar.zst file is a folder of files that has been bundled and then compressed in two steps. First a tool called tar gathers many files and folders into one continuous file, keeping their names and structure but without shrinking anything. Then Zstandard compresses that single tar file into a much smaller one, adding the .zst ending. Reading the name from right to left shows the order to undo it, decompress with Zstandard first, then unpack with tar. The standard tar tool can do both at once, so one command extracts the whole thing. It is the same idea as the older .tar.gz, with Zstandard used for its speed.
For most modern uses, yes, though gzip keeps one advantage. Zstandard reaches similar file sizes to gzip while packing several times faster and unpacking faster too, and it can push to smaller sizes than gzip when you raise its level. The one thing gzip still leads on is sheer ubiquity, since almost every system understands it out of the box, whereas Zstandard, though very widely supported now, is newer. So for a setup where speed and size both matter, Zstandard is usually the stronger choice, while gzip remains the safe pick when you need a format that every tool everywhere can read without question.
Yes. Zstandard is a lossless compression method, which means the file you get back after decompressing is an exact, bit-for-bit copy of the file that was compressed. Nothing is approximated or thrown away, unlike lossy methods used for some audio and images that trade detail for size. This is why Zstandard is trusted for backups, software packages, code and data of every kind, where even a tiny change would be a problem. Compressing a file to .zst and later decompressing it gives you precisely the original, just smaller in between.
To compress a single file, run zstd file, which produces a smaller file.zst alongside the original, and by default the original is kept. For a stronger squeeze, add a higher level such as zstd -19 file, trading a little more time for a smaller result. To pack a whole folder, use the .tar.zst approach, letting tar gather everything into one file and Zstandard compress it, which a single tar command can do together. The zstd tool is available for Windows, Mac and Linux, so the same simple commands work wherever you are, and archive apps like 7-Zip can create .zst files through a menu if you prefer clicking to typing.
A ZST file itself is just compressed data, so the file on its own is low risk. As with any archive, the risk lies in what it contains rather than the wrapper, since the files inside could be anything, including harmful ones, so safety depends on where it came from. Opening a .zst from a trusted place, such as your operating system's software packages, is entirely routine. For a .zst that arrives from an unknown source, the sensible habit is to be wary before running whatever comes out of it, and to scan the extracted contents if you are unsure. In short, decompressing is safe, but treat the files inside with the usual care.
There are a few easy routes on Windows. The simplest for most people is a modern archive app, since recent versions of 7-Zip and WinRAR open .zst and .tar.zst files with a click. If you prefer the command line, you can install the official Windows build of the zstd tool, available through package managers like Chocolatey or as a download, and then use the same zstd -d commands as on other systems. A third option is the Windows Subsystem for Linux, which gives you a Linux setup inside Windows where installing zstd takes moments. Any of these unpacks a ZST file on Windows without trouble, so the choice comes down to whether you like clicking or typing.
Some Linux systems, Arch Linux among them, package their software as .pkg.tar.zst files, and the name follows the same pattern as any other Zstandard archive. The files that make up a program are bundled with tar, then compressed with Zstandard for the .zst ending, with .pkg marking it as a software package. Distributions moved to Zstandard because it decompresses very fast, so installing software feels quick while the download stays small. Your package manager handles these files automatically, unpacking them behind the scenes when you install, so you rarely open one by hand. It is a good example of Zstandard quietly doing its job in everyday computing.
These three sit at different points on the same scale of speed against size. At one end, lz4 is extremely fast but compresses the least, which suits cases where raw speed is everything. At the other, xz squeezes files the smallest but is much slower to pack, which fits long-term archives where size matters most. Zstandard sits in the balanced middle and, unusually, covers a wide span of that range itself, staying fast at low levels while approaching xz-like sizes at its highest. This flexibility is a big reason it has spread so widely, since one tool can act fast when needed and squeeze hard when asked, rather than forcing a choice between speed and size.
The gains depend on the data and the level chosen, but the pattern is consistent. At settings that match gzip on file size, Zstandard typically compresses several times faster and decompresses faster still, with fast modes moving well over two hundred megabytes a second per processor core and decompression staying above five hundred megabytes a second whatever level was used. On size, its default already tends to beat gzip, and turning the level up to the maximum can reach sizes close to the slower xz format while decompressing far quicker. So rather than a single figure, the honest answer is that Zstandard usually gives you gzip-or-better sizes at much higher speed, which is exactly why it has been adopted so widely.
The zstd tool has a built-in test for exactly this. Running zstd -t file.zst checks the file's integrity without actually writing out the decompressed result, reporting whether it is sound or damaged. Zstandard files can also carry an optional checksum that lets the tool spot corruption automatically when you decompress, so a broken file is flagged rather than silently producing bad data. If a test reports a problem, the usual causes are an incomplete download or a damaged disk, and the fix is to obtain a fresh copy of the file. Testing before relying on an important archive is a sensible habit, especially for backups you may not open for a long time.
Not in a single direct step, because the two are built differently, but the result is easy to reach. A ZST file holds one compressed file, or a bundle when it is a .tar.zst, while a ZIP file both bundles and compresses many files together in one format. To go from one to the other, you first decompress the ZST file to recover its original contents, then add those contents to a new ZIP archive with any archive tool such as 7-Zip. In other words you unpack the Zstandard file and repack the result as ZIP, rather than converting the compression in place. The same two-step idea works in reverse if you ever need to go from ZIP to Zstandard.
📝 Summary
A ZST file is a file compressed with Zstandard, often shortened to zstd, a fast lossless compression method that Yann Collet created at Facebook and released in 2015 before it was made open source. Lossless means decompressing a ZST file returns the original exactly, bit-for-bit, which is why it is trusted for backups, code, software and data where nothing can be altered. Under the hood Zstandard finds and shortens repeated stretches of data, building on the LZ77 family with a very fast final stage, and its great appeal is reaching space savings close to the best older tools while working several times faster at both packing and unpacking, with fast modes compressing well over two hundred megabytes a second per processor core and decompression staying above five hundred megabytes a second whatever level was used. A plain .zst holds a single compressed file rather than a folder, the same way gzip behaves, so to package a directory you first bundle it with tar and then compress it, giving the very common .tar.zst that you meet around Linux, software packages and servers. Zstandard offers levels from one to twenty-two, trading speed for smaller size, and unpacking stays fast whatever level was used, while a distinctive dictionary feature lets it compress many small, similar files far better by learning their shared patterns in advance. Compared with gzip it reaches similar or smaller sizes much faster, its main trade being that gzip is understood by absolutely everything while Zstandard is newer though now very widely supported. To open a ZST file you decompress it with the zstd command, with an archive app like 7-Zip or PeaZip, or with a single tar command for a .tar.zst, and creating one is just as simple, since the same tools run on Windows, Mac and Linux. Standardised as RFC 8878, Zstandard now appears everywhere from Linux packages and the kernel to databases, cloud services and games, quietly making data smaller and faster to move.