PB
Available
security
lock Free · Private · In-Browser

FNV-1a 64-bit Hash Generator

Create an exact 64-bit non-cryptographic FNV-1a value.

  

Keep every low bit of the 64-bit recurrence

FNV-1a 64-bit uses offset basis cbf29ce484222325 and prime 100000001b3 in hexadecimal. Each UTF-8 byte is XORed before multiplication, and arithmetic wraps modulo two to the sixty-fourth. This implementation uses BigInt so JavaScript does not lose integer precision above 53 bits, then pads the result to exactly 16 lowercase hexadecimal characters.

For hello, the standard value is a430d84680aabd0b. The 64-bit width reduces accidental collisions compared with FNV-1a 32-bit for large benign key sets, but it does not change the algorithm's non-cryptographic structure. An empty input returns the offset basis itself, which is a useful diagnostic when comparing implementations.

Do not confuse a wider output with cryptographic strength

A 64-bit output is not evidence of security. FNV remains fast, unkeyed, and vulnerable to chosen collisions and brute force over small domains. The calculation is entirely in your browser. Confirm variant, width, UTF-8 encoding, overflow convention, and hex byte order when matching a language library or binary format.

Frequently Asked Questions

Why does the implementation use BigInt?

Ordinary JavaScript numbers cannot represent every 64-bit integer exactly, while BigInt preserves modular arithmetic.

Is FNV-1a 64 secure because it is wider?

No. Wider output lowers accidental collision probability but does not provide cryptographic collision resistance.

What does an empty input hash to?

It remains the 64-bit offset basis cbf29ce484222325 because no byte steps occur.

Take it further
All Free Tools

Browse the full set of free, private, in-browser tools.

Learn More arrow_forward