Security

paq – fast BLAKE3 file and directory hashing

paq is a fast command-line utility for hashing individual files or complete directory trees. It uses the BLAKE3 cryptographic hash function and is designed to produce deterministic hashes from filesystem content, making it useful for checking integrity, detecting changes, comparing directory states, and incorporating content hashes into automated workflows.

Directories are processed recursively through a parallel pipeline. paq hashes discovered content, sorts the resulting hashes to keep output deterministic, and then hashes that ordered set to produce the final value. The tool deliberately concentrates on content rather than filesystem metadata, so ownership, permissions, timestamps, ACLs, extended attributes, and hard-link information do not contribute to the resulting hash. Symbolic links are handled by hashing their target paths rather than following and hashing the target contents.

paq can be used as a standalone executable or as a Rust crate. The command-line tool writes its result to a .paq file as valid JSON, while the crate exposes hashing functionality for Rust applications. Hidden files and directories can optionally be ignored.

This is free and open source software.

Key Features

  • Hashes individual files or directory trees recursively with BLAKE3.
  • Uses parallel processing to accelerate traversal and hashing.
  • Produces deterministic results by sorting intermediate hashes before finalisation.
  • Can optionally ignore hidden files and directories.
  • Does not incorporate ownership, permissions, timestamps, ACLs, or extended attributes into content hashes.
  • Hashes symbolic-link target paths without following the links.
  • Provides both a command-line executable and reusable Rust crate.
  • Writes command-line results to a .paq file using valid JSON.

Website: github.com/gregl83/paq
Support:
Developer: Gregory Langlais
License: MIT License

paq options

paq is written in Rust. Learn Rust with our recommended free books and free tutorials.


Related Software

CLI Data Hashing Tools
xxHashNon-cryptographic hash algorithm
b3sumImplementation of the BLAKE3 hash function
RHashCalculate and verify magnet links and various message digests
md5sumCompute and check MD5 message digest; part of GNU Coreutils
cfvTest and create checksum files
JacksumWork with checksums, CRCs, and message digests
md5Generate / check MD5 message digest
digupUpdate md5sum or shasum digest files
cksumCompute and verify file checksums
HashratHash-generation utility
ddgstHashing and checksum utility
QCalcFileHashHash calculator
hashdirChecksum directories and files
Hash CalculatorCalculates around 50 cryptographic hashes of strings and files
danoHashdeep/md5tree for media files
sha3sumKeccak, SHA-3, SHAKE, and RawSHAKE checksum utilities
luhaSimple file checksum tool
filepackFile hashing and verification
b2sumCalculate BLAKE2 checksums
cksfvCreate and check sfv listings using CRC32 checksums
cksfv.rsReimplements the classic cksfv tool
hashdeepGenerate and verify file hashes
hashitGenerate file hashes quickly

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted