pkg(8) tar.zst file format
.txz · .tzst · .pkg · package (BSD) · introduced 2014 by FreeBSD
What is a pkg(8) tar.zst file?
Modern FreeBSD pkg(8) packages are tar.xz (or tar.zst on recent installations) archives with a "+MANIFEST" UCL metadata file at the front. They install with pkg add and resolve dependencies through pkg(8) repositories. The change to Zstandard cut install time roughly in half on slow CPUs.
Most readers reach this page after double-clicking a .txz file and finding their operating system unsure what to do with it. The good news: pkg(8) tar.zst is a well-understood format with mature tooling on every major platform. It is supported in one click by mainstream archivers on Windows, macOS, and Linux.
How to extract a pkg(8) tar.zst file
Opening a .txz file is straightforward on every modern operating system. The exact steps depend on which platform you are on:
On Windows
- Locate the
.txzfile in File Explorer. - Right-click the file. If you have 7-Zip installed, choose 7-Zip → Extract Here. On Windows 11 the built-in extractor handles ZIP, 7z, RAR and several other formats directly through Extract All…
- If prompted, pick a destination folder and click Extract.
- The extracted files appear in a folder next to the original archive.
On macOS
- Find the
.txzfile in Finder. - Install The Unarchiver from the Mac App Store, or Keka for both creating and extracting.
- Right-click the file → Open With → The Unarchiver (or just double-click after Unarchiver is set as the default).
- The extracted folder appears next to the archive.
On Linux
- Use your file manager: right-click the archive → Extract Here (file-roller on GNOME, Ark on KDE).
- On the command line, run one of:
7z x archive.txz # works for almost any format
- The files appear in the current directory.
How to create a pkg(8) tar.zst file
To pack files into a .txz archive, you typically need an archiver that supports writing this format. Not every tool can create every format — for example, only WinRAR can create real RAR files. The sidebar lists the software known to read and write pkg(8) tar.zst.
On the command line, the canonical create command is:
# Use 7-Zip, PeaZip, or the format's reference tool to create .txz files.
If you regularly create archives at scale, a dedicated archive automation suite can wrap this command in scheduled jobs, integrity checks, and offsite replication.
Strengths
- Fast install with zstd
- Plain tar payload
- UCL metadata is human-readable
Weaknesses and limitations
- BSD ecosystem only
Typical use cases
- FreeBSD binary packages
- HardenedBSD
- DragonFlyBSD
Technical details
pkg(8) tar.zst uses the TAR + XZ / Zstandard algorithm and is identified on disk by the magic byte sequence FD 37 7A 58 5A 00 / 28 B5 2F FD. The standard MIME type is application/x-bsd-pkg. The format is an open specification and is free for any use.
Frequently asked questions
Is pkg(8) tar.zst safe to open?
Archive files are containers — they are only as safe as what they contain. A .txz from a trusted source is fine; one received from a stranger can hold malicious executables, scripts, or files engineered to exploit bugs in your archiver. Always keep your archiver updated, and never run unknown executables that come out of an archive. A safe workflow is to extract into a sandbox and scan the contents before opening anything.
What is the maximum file size?
Modern implementations support archives in the multi-terabyte range. The practical limit is your filesystem (FAT32 caps at 4 GB; ext4, NTFS, APFS, and exFAT all comfortably handle multi-TB files).
Can I password-protect a pkg(8) tar.zst?
Some archivers can wrap pkg(8) tar.zst files in an encrypted container, but the format itself does not always include built-in encryption. Check your archiver's documentation.
How does pkg(8) tar.zst compare to other formats?
See our format comparison pages such as ZIP vs 7z, ZIP vs RAR, and tar.gz vs tar.xz for side-by-side feature tables.