Skip to content
AZ Tools

BLAKE3, BLAKE2 & Keccak-256 Hash Generator

Hash text, hex or a file with BLAKE3 (hash, keyed, derive-key), BLAKE2b/2s with key, salt and personalization, Keccak-256/512 or SHAKE128/256.

Input

3 bytes in, 32 bytes out.

Hex
Base64

Computed in your browser; nothing is uploaded.

How to use

  1. Choose Text, Hex or File and give the input; text is hashed as UTF-8.
  2. Pick the algorithm, then its options: output length, key, salt and personalization for BLAKE2, the mode and key or context for BLAKE3.
  3. Copy the digest in hex or Base64.

About this tool

Show

Computes the modern hash functions that the usual MD5/SHA list leaves out, over UTF-8 text, hex bytes or a file of up to 32 MB. BLAKE3 is offered in its three modes — plain hashing, keyed hashing with a 32-byte key (a fast MAC) and key derivation from a context string — with any output length up to 1,024 bytes, since it is an extendable-output function. BLAKE2b and BLAKE2s take the full RFC 7693 parameter set: a digest length, an optional key (up to 64 or 32 bytes), and the salt and personalization fields, which are zero-padded to 16 or 8 bytes as the specification requires. Keccak-256 and Keccak-512 use the original Keccak padding that Ethereum adopted before SHA-3 was standardised, so Keccak-256 of an empty input is c5d24601…5d85a470 — not the SHA3-256 value, which differs because FIPS 202 changed the padding byte. SHAKE128 and SHAKE256 are the standard SHA-3 extendable-output functions. Results are shown in hex and Base64. Every algorithm is implemented directly in the page and checked against the reference code — Python's hashlib for BLAKE2, the official BLAKE3 implementation's bindings, pycryptodome for Keccak and SHAKE — and against the RFC 7693 and BLAKE3 published vectors. Two cautions: BLAKE2 and BLAKE3 are fast by design, so on their own they are the wrong choice for storing passwords, where a slow function such as Argon2, scrypt or bcrypt belongs; and an Ethereum address is the last 20 bytes of the Keccak-256 of the public key, not of an address string, so hash the right bytes.

Frequently asked questions

Is Keccak-256 the same as SHA3-256?

No. SHA-3 was standardised with a different padding byte (0x06 instead of 0x01), so the two give different digests for the same input. Ethereum and Solidity's keccak256 use the original Keccak padding, which is what this tool's Keccak-256 does.

What are BLAKE3's three modes for?

Hash is an ordinary hash. Keyed hash takes a secret 32-byte key and works as a MAC. Derive key turns key material into subkeys, with a context string that should be hard-coded, unique to the application and purpose.

What do BLAKE2's salt and personalization do?

They are extra inputs mixed into the initial state, letting one key or input produce unrelated digests for different uses. Shorter values are padded with zero bytes, as RFC 7693 specifies.

Can I hash passwords with BLAKE3?

Not directly. Password storage needs a deliberately slow, memory-hard function such as Argon2id or scrypt so that guessing is expensive. BLAKE3 is built to be as fast as possible.

Why can I choose the output length?

BLAKE3 and SHAKE are extendable-output functions: longer outputs are a continuation of the same stream, so a 64-byte output starts with the 32-byte one. BLAKE2's length is a parameter, so different lengths give unrelated digests.

Related tools