Tooleux

XXH64

XXHash (4)

Compute the fast 64-bit XXH64 hash of any input, with an optional 64-bit seed.

Runs in your browser. Nothing leaves your device.
Calculate XXH64 non-cryptographic hashes with an optional 64-bit seed. Free, offline, runs in your browser. Read more Show less

What is XXH64?

XXH64 is the 64-bit variant of the xxHash family, designed by Yann Collet in 2012. It produces a 64-bit fingerprint at several gigabytes per second, making it the standard choice on 64-bit machines for hash tables, cache keys, deduplication, and file integrity checksums where cryptographic strength is not required.

XXH64 is not a cryptographic hash. It is trivially reversible in the sense that collisions can be constructed, and the seed is not a secret. Use SHA-256 or BLAKE3 if an adversary is involved.

How to compute XXH64

Type or paste your input, choose the encoding (UTF-8, hex, or Base64), and optionally set a 64-bit seed. For the UTF-8 string hello with seed 0:

26c7827d889f6da3

The 64-bit seed

The seed is a 64-bit unsigned integer. Enter it as decimal or hex with a 0x prefix. It is not a key. XXH64 with a seed is still not a MAC; use HMAC for authentication.

FAQ

XXH64 vs XXH32

XXH64 processes 8 bytes at a time and produces a 64-bit output. On 64-bit CPUs it is faster than XXH32 and vastly reduces collision probability. Use XXH64 unless you specifically need 32-bit output for compatibility.

XXH64 vs XXH3

XXH3 is the newer generation. It is faster on almost every input size and better distributed. Use XXH3 for new work; use XXH64 only when a format or database already specifies it.

XXH64 vs SHA-256

Different jobs. XXH64 is for speed; SHA-256 is for security. XXH64 is ~20x faster. If you are indexing, partitioning, or building a Bloom filter, XXH64 is right. If you are signing, verifying a download, or deriving a key, use SHA-256.

Why doesn't my hash match another tool?

Check the input encoding, trailing newline, and seed. XXH64 is bit-exact across every implementation for the same input and seed.

Command line equivalent
# xxhsum
echo -n "hello" | xxhsum -H1            # XXH64, seed 0

# Python
pip install xxhash
python3 -c 'import xxhash; print(xxhash.xxh64(b"hello").hexdigest())'

# Node
node --input-type=module -e 'import xxhash from "xxhash-wasm"; const h = await xxhash(); console.log(h.h64("hello").toString(16).padStart(16,"0"))'
Loads a test value into the form
Input
XXH64