LinuxCommandLibrary

b3sum

Calculate and verify BLAKE3 checksums

TLDR

Calculate the BLAKE3 checksum for one or more files

$ b3sum [path/to/file1 path/to/file2 ...]
copy

Calculate and save the list of BLAKE3 checksums to a file
$ b3sum [path/to/file1 path/to/file2 ...] > [path/to/file.b3]
copy

Calculate a BLAKE3 checksum from stdin
$ [command] | b3sum
copy

Read a file of BLAKE3 checksums and filenames and verify all files have matching checksums
$ b3sum [[-c|--check]] [path/to/file.b3]
copy

Only show a message for missing files or when verification fails
$ b3sum [[-c|--check]] --quiet [path/to/file.b3]
copy

Check a known BLAKE3 checksum of a file
$ echo [known_blake3_checksum_of_the_file] [path/to/file] | b3sum [[-c|--check]]
copy

SYNOPSIS

b3sum [OPTION]... [FILE]...

Compute BLAKE3 checksums for FILEs (or stdin if absent).

PARAMETERS

--check
    read checksums from listed files and verify them

--debug
    print verbose debug information

--quiet
    suppress all non-error output

--status
    exit 123 if any file unreadable, else 0

--warn
    warnings/errors to stderr instead of stdout

--binary, -b
    binary output instead of human-readable

--length LEN, -l LEN
    digest length in bytes (1-64, default 32)

--no-upper
    don't uppercase hex digits

--raw
    output raw bytes (default base64url)

--xof
    use extensible-output function mode

--key KEY
    hex key for keyed hashing (MAC)

--personalization PERS
    hex personalization string

--fanout N
    tree fanout (default 8)

--no-parallel
    disable multi-threading

-h, --help
    display this help

-V, --version
    output version information

DESCRIPTION

b3sum is a command-line utility for BLAKE3, a high-performance cryptographic hash function. BLAKE3 uses Merkle tree-based parallelism and SIMD to achieve speeds of 10-20 GiB/s on modern CPUs, rivaling non-cryptographic hashes while providing 128-bit security against collisions and 256-bit against length extension.

Primarily used for file integrity verification, it computes digests for files or stdin, outputs in human-readable base64url encoding (RFC 4648 §5 compliant, no padding), and verifies checksum files like sha256sum. Supports adjustable length (1-64 bytes, default 32), keyed mode (MAC), personalization, XOF for arbitrary outputs, and optional single-threaded mode.

Checksum files use format: <digest> <path> (spaces in paths quoted). Parallel by default with fanout=8. Ideal for large data, software distribution, and backups.

CAVEATS

BLAKE3 outputs differ from SHA-256/MD5; not interchangeable. Base64url omits '=' padding for filenames. Key/personalization must be even-length hex.

CHECKSUM FILE FORMAT

Line-based: <base64url-digest>** <path> (**=one or more spaces). Paths with spaces quoted as "path with space" or \-escaped. Use --check to verify.

PERFORMANCE NOTES

Parallel by default (detects cores). Use --no-parallel or --fanout 1 for reproducibility/portability. XOF mode streams unlimited output.

HISTORY

BLAKE3 designed by Jack O'Connor et al., announced November 2020. b3sum from official C reference implementation (github.com/BLAKE3-team/BLAKE3), v0.1+ widely available in Linux distros since 2021.

SEE ALSO

sha256sum(1), sha3sum(1), md5sum(1), xxhsum(1)

Copied to clipboard