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
- Enter your text. Type or paste text, or press an example. For many keys, put one per line and turn on batch mode.
- 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.
- 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.