Skip to content
AZ Tools

xxHash, MurmurHash3, FNV & SipHash Calculator

Compute xxHash32/64, MurmurHash3 (32 and 128-bit), FNV-1/FNV-1a (32 and 64-bit) and SipHash-2-4 of text, hex bytes or a file, with seeds and a key.

Input

43 bytes hashed.

AlgorithmHexDecimal
xxHash32
xxHash64
MurmurHash3 x86_32
MurmurHash3 x64_128
FNV-1 32
FNV-1a 32
FNV-1 64
FNV-1a 64
SipHash-2-4

For MurmurHash3 x64_128 and SipHash the second hex line is the byte order the reference implementation outputs.

Computed in your browser; nothing is uploaded. These are not cryptographic hashes.

How to use

  1. Choose Text, Hex or File and enter the input; text is hashed as UTF-8.
  2. Set a seed for xxHash and MurmurHash (decimal or 0x-hex) and a 16-byte hex key for SipHash if you need them.
  3. Read the hashes in hex and decimal; click any value to copy it.

About this tool

Show

Computes the fast, non-cryptographic hashes used in hash tables, Bloom filters, sharding, caches and data-file checksums, all at once and over the exact bytes you give it: UTF-8 text, hex bytes, or a file of up to 4 MB. It covers xxHash32 and xxHash64, MurmurHash3 in its x86_32 and x64_128 variants, FNV-1 and FNV-1a at 32 and 64 bits, and SipHash-2-4 with a 128-bit key. Each value is shown in hex and in decimal; MurmurHash3's 128-bit result is given as its two 64-bit halves and as the 16 bytes the reference C code writes out, and SipHash as its 64-bit value and its little-endian byte form, since libraries disagree on which of these they print. Seeds accept decimal or 0x-hex; xxHash64 uses the full 64-bit seed and the 32-bit functions use its low 32 bits. Every result matches the reference libraries (the xxhash, mmh3 and siphash24 bindings of the original C code) and the published vectors, including the SipHash paper's test vector. None of these is a cryptographic hash: FNV, xxHash and MurmurHash can be forced to collide on purpose, so never use them for passwords, signatures or anything an attacker controls — use SHA-256 or BLAKE2 there. SipHash is the exception meant for hash-flooding protection, but only while its key stays secret. XXH3 and XXH128, the newer xxHash variants, are not included and produce different values from xxHash64.

Frequently asked questions

Why does my library print a different MurmurHash3 128-bit value?

Implementations differ in how they present the two 64-bit halves: some print h1 then h2 as numbers, others the 16 output bytes in memory order, others one 128-bit integer. The tool shows the halves, the byte form and the decimal integer so you can match yours.

Can I use these for passwords or integrity against attackers?

No. They are designed for speed and good distribution, not resistance to deliberate collisions. Use a cryptographic hash for integrity and a password hash such as Argon2, scrypt or bcrypt for passwords.

What is SipHash for?

It is a keyed hash used by Python, Rust and many hash tables to stop attackers from filling a table with colliding keys. It stays safe only while the key is secret and random.

Is this the same as XXH3?

No. XXH3 and XXH128 are newer xxHash algorithms with different output. This tool implements the classic XXH32 and XXH64.

Why does text with accents or emoji give a different hash elsewhere?

The tool hashes the UTF-8 bytes. Some languages hash UTF-16 code units or a normalised form; use Hex mode to hash exactly the bytes another system uses.

Related tools