xxHash generator for fast, non-cryptographic hashing
xxHash, created by Yann Collet (also the author of LZ4 and Zstandard), is a family of non-cryptographic hash functions built for speed. On modern CPUs, XXH3 can hash data at many gigabytes per second — often faster than memory can deliver it — while still passing demanding statistical quality tests. This xxHash generator computes all four variants for text or files.
Example
Hashes of The quick brown fox jumps over the lazy dog with seed 0:
| Variant | Hash |
|---|---|
| XXH32 | e85ea4de |
| XXH64 | 0b242d361fda71bc |
| XXH3 (64-bit) | ce7d19a5418fb365 |
| XXH3 128-bit | ddd650205ca3e7fa24a1cc2e3a8a7651 |
With seed 1, XXH64 gives df5091b6dad2c6db instead. The seed lets you derive independent hash functions from the same algorithm.
The variants
- XXH32 — 32-bit output, fast on 32-bit systems; used in the LZ4 frame format.
- XXH64 — 64-bit output, the long-standing default; used as the content checksum in Zstandard frames.
- XXH3 — the newer (2020) algorithm with 64-bit output, fastest on modern CPUs thanks to vector instructions, and especially quick for small inputs.
- XXH128 — XXH3 with 128-bit output, making accidental collisions negligible even in huge datasets.
The seed option
The seed is an unsigned 32-bit integer (0 to 4,294,967,295) mixed into the initial state. Different seeds give unrelated outputs, which is useful for Bloom filters, sharding and hash tables that need several independent hash functions. Make sure every system uses the same seed, or values will never match.
Where you will meet xxHash values
- Zstandard files: the optional frame checksum is the lower 4 bytes of XXH64 (seed 0) of the uncompressed content, so it matches only the last 8 hex characters of the full XXH64 shown here.
- rsync: version 3.2 and later can use XXH64, XXH3 and XXH128 as transfer checksums, chosen with
--checksum-choice. - Databases: ClickHouse offers
xxHash32,xxHash64andxxh3functions, which return unsigned integers in decimal. Convert them with decimal to hex before comparing with this page. - Build and cache tools: content hashes for deduplication and cache keys, where speed matters more than resistance to attackers.
If a value from another system does not match, check the variant, the seed and whether the output is printed as hex or as a decimal integer.
Not a cryptographic hash
xxHash is designed for speed and good distribution, not security. An attacker can deliberately craft inputs that collide, so it must not be used for signatures, integrity against tampering, or passwords. It is ideal for detecting accidental changes, deduplication, cache keys, and hash tables with trusted data. For security, use BLAKE3 — which is also very fast — or SHA-256.
Output format and compatibility
Hashes are shown as big-endian hex, matching the xxhsum command-line tool (xxhsum -H1 file for XXH64, -H3 for XXH3, -H2 for XXH128) and the reference library’s canonical representation. Text is hashed as UTF-8. To compute several checksums of a file at once, try the Checksum Calculator. Everything runs in your browser.