XXHSUM(1)
π NAME π
xxhsum β print or check xxHash non-cryptographic checksums β¨ (yes bestie, this is the XXHSUM(1) manual page, we're doing this π )
π SYNOPSIS π
xxhsum [OPTION]... [FILE]...
xxhsum -b [OPTION]...
okay so also, these are all just aliases doing the exact same vibe check:
xxh32sumis equivalent toxxhsum -H0xxh64sumis equivalent toxxhsum -H1xxh128sumis equivalent toxxhsum -H2xxh3sumis equivalent toxxhsum -H3
πΈ DESCRIPTION πΈ
It prints or checks xxHash (32, 64 or 128 bits) checksums. That's the whole job. π«Ά
If you give it no FILE, it reads standard input β except if that's the console, in which case nope, it won't just sit there waiting on you like that π. If FILE is -, it reads standard input even if it's the console. no cap.
xxhsum supports a command line syntax similar to md5sum(1) but NOT identical. the differences are, and I need you to hear me on this:
- xxhsum doesn't have text mode switch (
-t) π - xxhsum doesn't have short binary mode switch (
-b) π - xxhsum always treats files as binary file π§
- xxhsum has a hash selection switch (
-H) π
β οΈ okay so IMPORTANT: xxHash is a fast non-cryptographic checksum algorithm, which means xxhsum should not be used for security related purposes. fr fr. it's for speed, not for secrets π
and psst β xxhsum -b invokes benchmark mode. see OPTIONS and EXAMPLES for details π
β¨ OPTIONS β¨
-HHASHTYPEβ hash selection, main character energy. HASHTYPE means0=XXH32,1=XXH64,2=XXH128,3=XXH3. Alternatively, HASHTYPE32=XXH32,64=XXH64,128=XXH128. Default value is1(XXH64) β¨-sSEED,--seed SEEDβ set the unsigned decimal seed used for hashing and checksum verification. the seed is not stored in checksum files, so you must provide the same value when verifying seeded checksums. don't forget it bestie π Default value is0.--binaryβ accepted for compatibility. this option has no effect because xxhsum always reads files in binary mode. it's just there to be polite π--tagβ output in the BSD style π--little-endianβ set output hexadecimal checksum value as little endian convention. by default, value is displayed as big endian.-V,--versionβ displays xxhsum version and exits π-h,--helpβ displays help and exits π«Ά--β treat all following arguments as file names. this is useful for file names beginning with-, you know the ones that act all mysterious π
π¦ Advanced file input options π¦
--files-from,--filelist FILEβ read filenames from FILE and generate hashes for them.stdinis also a valid way to provide filenames (when no FILE or-provided). valid format is one filename per line, which can include embedded spaces, etc with no need for quotes, escapes, etc. a line beginning with byte0x5Cenables filename unescaping. subsequent byte sequences0x5C 0x5C,0x5C 0x6E, and0x5C 0x72are converted to the single bytes0x5C,0x0A, and0x0D, respectively. lowkey the most useful thing here π
π§ Checksum verification options: π§
-c,--check FILEβ read xxHash sums from FILE and check them β--strictβ return an error code if any line in FILE is invalid, not just if some checksums are wrong. this policy is disabled by default, though the UI will prompt an informational message if any line in the file is detected invalid. so it's strict-strict π€-w,--warnβ emit a warning message about each improperly formatted line in FILE π¨-q,--quietβ don't printOKfor each successfully verified hash. in benchmark mode, don't display the version header. shy mode π€«--statusβ don't output anything. only generate a Status code to show success. the silent treatment, but useful π--ignore-missingβ don't fail or report status for missing files. we simply do not perceive them π
π Benchmark options: π
-bβ benchmark mode. see EXAMPLES for details π₯-b#β specify ID of variant to be tested. multiple variants can be selected, separated by a,comma. mix and match bestie π-BBLOCKSIZEβ only useful for benchmark mode (-b). see EXAMPLES for details. BLOCKSIZE specifies benchmark mode's test data block size in bytes and accepts the suffixesK,KB,KiB,M,MB, andMiB. all suffixes use powers of1024:K,KB, andKiBmultiply by1024, whileM,MB, andMiBmultiply by1048576. Default value is102400.-iITERATIONSβ only useful for benchmark mode (-b). see EXAMPLES for details. ITERATIONS specifies number of iterations in benchmark. single iteration lasts approximately1000milliseconds. Default value is3.
π EXIT STATUS π
xxhsum exits 0 on success, and 1 if at least one file couldn't be read or doesn't have the same checksum as the -c option. that's it, that's the whole drama π
β EXAMPLES β
output xxHash (64bit) checksum values of specific files to standard output
$ xxhsum -H1 foo bar baz
output xxHash (32bit and 64bit) checksum values of specific files to standard output, and redirect it to xyz.xxh32 and qux.xxh64
$ xxhsum -H0 foo bar baz > xyz.xxh32
$ xxhsum -H1 foo bar baz > qux.xxh64
read xxHash sums from specific files and check them
$ xxhsum -c xyz.xxh32 qux.xxh64
produce a list of files, then generate hashes for that list
$ find . -type f -name '*.[ch]' > c-files.txt
$ xxhsum --files-from c-files.txt
read the list of files from standard input to avoid the need for an intermediate file
$ find . -type f -name '*.[ch]' | xxhsum --files-from -
note that if shell expansion, length of argument list, clarity of use of spaces in filenames, etc allow it, then the same output as the previous example can be generated like this
$ xxhsum `find . -name '*.[ch]'`
benchmark xxHash algorithm. by default, xxhsum benchmarks xxHash main variants on a synthetic sample of 100 KB, and prints results into standard output. the first column is the algorithm, the second column is the source data size in bytes, the third column is the number of hashes generated per second (throughput), and finally the last column translates speed in megabytes per second. iconic layout honestly π
$ xxhsum -b
in the following example, the sample to hash is set to 16384 bytes, the variants to be benched are selected by their IDs, and each benchmark test is repeated 10 times, for increased accuracy.
$ xxhsum -b1,2,3 -i10 -B16384
π BUGS π
report bugs at: https://github.com/Cyan4973/xxHash/issues/ β please be nice, they're doing their best π«Ά
π AUTHOR π
Yann Collet π
π¦ SEE ALSO π¦
and that's the whole page bestie β¨ this was xxhsum 0.8.4, from September 2026, aka the XXHSUM(1) manual β go hash something, ily, bye ππ π
π¦ where this page comes from
- arch rolling: xxhash 0.8.4-1 Β· GPL2 AND BSD
- epel 10: xxhash 0.8.4-2.el10_3 Β· BSD-2-Clause AND GPL-2.0-or-later
- fedora 43: xxhash 0.8.4-1.fc43
- fedora 43: xxhash 0.8.4-2.fc43 Β· BSD-2-Clause AND GPL-2.0-or-later
- fedora 44: xxhash 0.8.4-1.fc44
- fedora 44: xxhash 0.8.4-2.fc44 Β· BSD-2-Clause AND GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms