FNV-1a Hash Generator

Type or paste text, choose the hash size and output format, and press Generate FNV-1a hash. Turn on batch mode to hash every line separately.

Try an example

About this FNV-1a generator

FNV (Fowler–Noll–Vo) is a family of simple, fast, non-cryptographic hash functions widely used in hash tables, caches, Bloom filters, and checksums of identifiers. FNV-1a starts from a fixed offset basis and, for every byte, XORs the byte into the hash and then multiplies by a special FNV prime, keeping only the chosen number of bits. Doing the XOR before the multiply, unlike the older FNV-1, spreads small changes better. This generator supports every official size from 32 to 1024 bits, using the primes and offset bases from the FNV specification, and reads text as UTF-8. Batch mode hashes each line on its own.

How to generate an FNV-1a hash

  1. Enter your text. Type or paste text, or press an example. For many keys, put one per line and turn on batch mode.
  2. Choose size and format. Pick 32 or 64 bits for hash tables, or a larger size for fewer collisions, and hex, decimal, or binary output.
  3. Press Generate FNV-1a hash. Copy the result. In batch mode the table pairs each line with its hash.

Frequently asked questions

What is the difference between FNV-1 and FNV-1a?

FNV-1 multiplies first and then XORs each byte; FNV-1a XORs first and then multiplies. FNV-1a mixes the final bytes better and is the variant usually recommended.

What is the 32-bit FNV-1a of an empty string?

It is the 32-bit offset basis itself, 811c9dc5 in hex, because no bytes are processed.

Is FNV-1a secure?

No. It is designed for speed, not security, and collisions can be found on purpose. Use SHA-256 or another cryptographic hash for passwords, signatures, or integrity against attackers.

Which size should I use?

Use 32 or 64 bits for hash tables and in-memory lookups. Larger sizes reduce accidental collisions when hashing very many items, at some cost in speed.

Why do other tools give a different result?

Check that they use FNV-1a and not FNV-1, the same bit size, and the same bytes: this tool hashes UTF-8, so accented letters and emoji take several bytes each.