SHA3-256 hash generator
SHA3-256 is the general-purpose workhorse of the SHA-3 family. It absorbs the input into a 1600-bit Keccak state and squeezes out a 256-bit digest — 64 hex characters, the same length as SHA-256 but produced by an entirely different algorithm. This SHA3-256 generator computes it for text or files without uploading anything.
Example
Input:
The quick brown fox jumps over the lazy dogSHA3-256 hash:
69070dda01975c8c120c3aada1b282394e7f032fa9cf32f4cb2259a0897dfc04For comparison, SHA-256 of the same sentence is d7a8fbb307d7809469ca9abcb0082e4f…. Equal length, unrelated values — so always record which algorithm a 64-character hash came from.
SHA-3 vs SHA-2
SHA-3 is not an upgrade of SHA-2 but a completely different design. After the attacks on MD5 and SHA-1, NIST ran an open competition (2007–2012) to obtain a backup hash based on different mathematics. The winner, Keccak by Bertoni, Daemen, Peeters and Van Assche, became FIPS 202 in 2015. Instead of the Merkle–Damgård structure, it uses a sponge: input is absorbed into a 1600-bit state and output is squeezed out, with 24 rounds of the Keccak-f permutation in between. SHA-2 remains secure, so SHA3-256 is chosen mainly for diversity, length-extension resistance or where a specification requires it.
SHA3-256 at a glance
| Property | Value |
|---|---|
| Digest size | 256 bits (32 bytes, 64 hex characters) |
| Rate / capacity | 1088 / 512 bits |
| Collision resistance | About 128 bits |
| Length extension | Not vulnerable, so SHA3-256(key + message) is a valid MAC construction |
| Standard | FIPS 202 (2015) |
Watch out: SHA3-256 vs Keccak-256
Ethereum and several other blockchains adopted Keccak before FIPS 202 was finalised. The final standard changed the padding (a domain byte of 0x06 instead of Keccak’s 0x01), so SHA3-256 and Keccak-256 give different results. Solidity’s keccak256 and Ethereum addresses use Keccak-256 — for those, use the Keccak Hash Generator. Some libraries confusingly call Keccak-256 “sha3”.
Telling SHA3-256 and Keccak-256 apart
When a library's documentation is unclear, hash the empty string and compare the start of the result:
| Input | SHA3-256 (FIPS 202) | Keccak-256 (Ethereum) |
|---|---|---|
| (empty) | a7ffc6f8bf1ed766… | c5d2460186f7233c… |
abc | 3a985da74fe225b2… | different value |
If your code prints a value starting with c5d246 for empty input, it is using the original Keccak padding, whatever the function is called. The full SHA3-256 of the empty string is a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a, which this tool reproduces when the input box is empty.
Where SHA3-256 is used
- Protocols and standards that want a non-SHA-2 hash for algorithm diversity.
- Post-quantum schemes and modern designs built around the Keccak permutation.
- Simple keyed hashing, since the sponge construction is not subject to length extension (KMAC is the standardised option).
In code: Python hashlib.sha3_256(data), Node crypto.createHash('sha3-256'), OpenSSL openssl dgst -sha3-256. Performance in software is usually lower than SHA-256 with hardware acceleration, which is one reason SHA-2 remains the default. Like all fast hashes, SHA3-256 is not a password hash — use bcrypt or Argon2id for that.