Guide
SHA-3, Keccak-256, SHAKE and RIPEMD-160 side by side
When NIST ran a public competition to find a backup for SHA-2, the winner in 2012 was Keccak, a design built on a completely different principle called a sponge. It became the SHA-3 standard in FIPS 202 in 2015. Along the way the standard changed the padding rule slightly, and that detail splits the world in two: software that follows FIPS 202 and software, notably Ethereum, that adopted Keccak before the change. This page shows both families, and a few relatives, for the same input.
Why the results differ
A sponge absorbs input into a large internal state and then squeezes output out. The only difference between Keccak-256 and SHA3-256 is the domain separation bits appended before padding: FIPS 202 adds 01 for the SHA-3 hashes, and the original submission added none. That one change gives completely unrelated digests for identical input. Use SHA3 when a specification says SHA-3 and Keccak when it says Keccak-256, as Ethereum and Solidity do.
A worked example
Press Sample to hash the text abc and compare with the reference values. SHA3-224 is e642824c3f8cf24ad09234ee7d3c766fc9a3a5168d0c94ad73b46fdf. SHA3-256 is 3a985da7…1532 and SHA3-512 begins b751850b1a57168a. Keccak-256, for the same text, is 4e03657a…6c45, nothing like the SHA3-256 value. RIPEMD-160 gives 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc, and SHAKE128 at 32 bytes gives 5881092dd818bf5cf8a3ddb793fbcba74097d5c526a6d35f97b83351940f2cc8.
SHAKE and variable length
SHAKE128 and SHAKE256 are extendable-output functions: you choose how many bytes you want. The output-length field above the SHAKE rows sets it, and longer requests extend the same stream, so the first 32 bytes of a 64-byte SHAKE128 output equal the 32-byte one. They are used to derive keys, to produce masks and in some signature schemes.
RIPEMD-160
RIPEMD-160 is an older European design from 1996 with a 160-bit output. It survives mainly because Bitcoin and related systems hash a public key first with SHA-256 and then with RIPEMD-160 to make a short address. It has no known practical collision attacks but a smaller margin than 256-bit hashes, so avoid it in new designs.
Output format
Switch on upper-case hex or Base64 to match the format your system expects. Input can be text, hex bytes, Base64 or a file. Text is encoded as UTF-8, so an accented letter changes the digest compared with a Latin-1 encoder.
Limits
None of these is suitable for storing passwords. SHA-256 remains secure; SHA-3 adds diversity, not urgency. The page does not offer the cSHAKE, KMAC or TupleHash variants from NIST SP 800-185.
Picking a hash in practice
For general integrity checks, SHA-256 is still the safe, widely supported choice. Choose SHA3-256 when a standard or a partner requires it, or when you want a design that does not share the construction of SHA-2. Choose Keccak-256 only to interoperate with Ethereum and Solidity code, where it is called keccak256. If you need an output of an unusual length, SHAKE is cleaner than truncating a longer digest. Whatever you choose, record the exact algorithm name next to the value, since SHA3-256 and Keccak-256 look identical in a log.
Related tools
- BLAKE2 and BLAKE3 Hash Generator offers fast modern hashes.
- Ethereum Address Checksum uses Keccak-256 for address capitalisation.
- HMAC Generator can key SHA3 and RIPEMD-160 too.
- Hash Generator covers SHA-1, SHA-2 and MD5.
Checked against the current version of the SHA-3 and Keccak Hash Generator on .

