Overview
Introduction
MurmurHash3 is one of the most widely deployed non-cryptographic hash functions in distributed systems today, powering data partitioning in Cassandra, routing in Elasticsearch, and hash tables across dozens of languages.
This tool computes MurmurHash3's 32-bit x86 variant (seed 0) of any text you provide, entirely in your browser, matching the value you'd get from the canonical reference implementation.
What Is MurmurHash3 Calculator?
MurmurHash3 is a non-cryptographic hash function created by Austin Appleby in 2008 and refined into its third generation, producing a 32-bit result in this tool's variant, shown as 8 hexadecimal characters.
It processes input in 4-byte blocks through repeated rounds of multiplication, bit rotation, and XOR-mixing, tuned specifically for a strong statistical distribution and passing rigorous avalanche and bias tests from the SMHasher test suite Appleby also created.
How MurmurHash3 Calculator Works
Your UTF-8 encoded text is processed 4 bytes at a time: each 4-byte block is multiplied by a constant, rotated, multiplied by a second constant, then mixed into a running hash value via XOR, rotation, and a linear step.
Any remaining 1-3 tail bytes are folded in through a smaller version of the same mixing step, the input length is mixed in, and a final avalanche step (a sequence of XOR-shift and multiply operations) spreads the bits evenly before hex-encoding into the 8-character output.
When To Use MurmurHash3 Calculator
Reach for MurmurHash3 when you need fast, well-distributed hashing for hash tables, data partitioning across nodes, or bloom filters, matching the exact algorithm used by Cassandra, Elasticsearch, and similar systems.
Avoid it wherever security against deliberate collisions matters, it offers none, and for that use case a cryptographic hash like SHA-256 or a keyed hash like SipHash is the appropriate choice instead.
Often used alongside xxHash Calculator and CRC32 Calculator.
Features
Advantages
- Excellent statistical distribution, thoroughly tested against the SMHasher benchmark suite.
- Fast to compute, especially on typical string and small-key workloads common in hash tables.
- Extremely widely deployed: matches the exact hashing behavior of Cassandra, Elasticsearch, and many bloom filter implementations.
Limitations
- Not cryptographically secure; offers no resistance to a deliberate attacker constructing collisions.
- 32-bit output is prone to accidental collisions at scale; the 128-bit MurmurHash3 variants are better suited to very large datasets.
- Output depends on a seed value; reproducing another system's exact hash requires matching its seed, not just its algorithm.
Examples
Best Practices & Notes
Best Practices
- Use MurmurHash3 for fast, well-distributed non-adversarial hashing: hash tables, partitioning, bloom filters.
- When matching another system's output, confirm the seed value used, this tool defaults to the common convention of seed 0.
- For very large datasets or lower collision probability, consider the 128-bit MurmurHash3 variants instead of the 32-bit one this tool computes.
Developer Notes
This tool implements the MurmurHash3 x86_32 algorithm (seed 0) directly per Appleby's reference C++ implementation in the SMHasher repository, verified against that reference implementation's output across a range of input lengths covering both the 4-byte-block and tail-processing code paths.
MurmurHash3 Calculator Use Cases
- Reproducing a Cassandra partition key hash or Elasticsearch routing hash by hand
- Implementing or verifying a bloom filter's hash function
- Hash table keys in performance-sensitive, non-adversarial code
- Reproducing a known MurmurHash3 test vector while debugging another implementation
Common Mistakes
- Using MurmurHash3 where security against deliberate collisions matters; it offers none by design.
- Forgetting to match the seed value when reproducing a hash from another system; different seeds produce entirely different output for the same input.
- Confusing MurmurHash3's x86 32-bit variant with its 128-bit or x64-tuned siblings, they produce different results even for identical seeds and input.
Tips
- If a value doesn't match another system's MurmurHash3 output, check the seed first, it's the most common source of mismatches.
- Compare this tool's output against the xxHash tool on the same input to see how two speed-focused, non-cryptographic hash designs distribute bits differently.