MurmurHash3 is a fast, high-quality non-cryptographic hash function used throughout databases, caches and probabilistic data structures. This calculator implements the 32-bit x86 variant (MurmurHash3_x86_32) with a configurable seed, computing everything locally in the browser.
How it works
The algorithm mixes the input in 4-byte little-endian blocks, then finalises:
- Initialise the hash with the seed and set the constants
c1 = 0xcc9e2d51,c2 = 0x1b873593. - For each 4-byte block
k: multiply byc1, rotate left 15, multiply byc2, XOR into the hash, rotate the hash left 13, then sethash = hash * 5 + 0xe6546b64. - Mix any leftover 1 to 3 tail bytes through the same
c1/rotate/c2step. - XOR the total length into the hash, then run the finalisation mixer
fmix32(a sequence of shifts, XORs and multiplications) to avalanche the bits.
Example
Hashing hello with seed 0 produces 0x248bfa47 (decimal 613153351). An empty string with seed 0 hashes to 0.
Notes
All multiplications use a correct 32-bit overflow multiply so results match reference C implementations bit for bit. MurmurHash3 is excellent for hash tables but offers no security guarantees. Every computation runs locally and nothing is uploaded.