27 releases (7 stable)

1.3.3 Nov 26, 2022
1.3.1 Jan 25, 2022
1.2.0 Nov 5, 2021
1.0.0 Jul 25, 2021
0.0.0 Sep 17, 2019

#32 in Cryptography

Download history 407/week @ 2022-11-28 251/week @ 2022-12-05 297/week @ 2022-12-12 288/week @ 2022-12-19 281/week @ 2022-12-26 346/week @ 2023-01-02 338/week @ 2023-01-09 309/week @ 2023-01-16 176/week @ 2023-01-23 256/week @ 2023-01-30 359/week @ 2023-02-06 452/week @ 2023-02-13 315/week @ 2023-02-20 458/week @ 2023-02-27 602/week @ 2023-03-06 414/week @ 2023-03-13

1,825 downloads per month

CC0-1.0 OR Apache-2.0

35K SLoC

GNU Style Assembly 17K SLoC Assembly 9K SLoC // 0.0% comments Rust 5K SLoC // 0.1% comments C 3.5K SLoC // 0.1% comments Python 148 SLoC // 0.1% comments


A command line utility for calculating BLAKE3 hashes, similar to Coreutils tools like b2sum or md5sum.

Usage: b3sum [OPTIONS] [FILE]...

  [FILE]...  Files to hash, or checkfiles to check

  -l, --length <LEN>          The number of output bytes, before hex encoding [default: 32]
      --num-threads <NUM>     The maximum number of threads to use
      --keyed                 Use the keyed mode
      --derive-key <CONTEXT>  Use the key derivation mode, with the given context string
      --no-mmap               Disable memory mapping
      --no-names              Omit filenames in the output
      --raw                   Write raw output bytes to stdout, rather than hex
  -c, --check                 Read BLAKE3 sums from the [FILE]s and check them
      --quiet                 Skip printing OK for each successfully verified file
  -h, --help                  Print help information (use `--help` for more detail)
  -V, --version               Print version information

See also this document about how the --check flag works.


Hash the file foo.txt:

b3sum foo.txt

Time hashing a gigabyte of data, to see how fast it is:

# Create a 1 GB file.
head -c 1000000000 /dev/zero > /tmp/bigfile
# Hash it with SHA-256.
time openssl sha256 /tmp/bigfile
# Hash it with BLAKE3.
time b3sum /tmp/bigfile


Prebuilt binaries are available for Linux, Windows, and macOS (requiring the unidentified developer workaround) on the releases page. If you've installed Rust and Cargo, you can also build b3sum yourself with:

cargo install b3sum

On Linux for example, Cargo will put the compiled binary in ~/.cargo/bin. You might want to add that directory to your $PATH, or rustup might have done it for you when you installed Cargo.

If you want to install directly from this directory, you can run cargo install --path .. Or you can just build with cargo build --release, which puts the binary at ./target/release/b3sum.


~160K SLoC