SHA3-256 hash generator (FIPS 202)
SHA3-256 is the 256-bit member of the SHA-3 family standardised in FIPS 202. Unlike SHA-2, it is built on the Keccak sponge construction, a fundamentally different internal design — a deliberate hedge against any future weakness in the SHA-2 family. This tool produces it for developers needing a FIPS-standard SHA3 digest.
How the Keccak sponge works
Unlike SHA-2, which uses a Merkle-Damgård compression structure, SHA3 uses a sponge construction with two phases:
- Absorb — the input is padded and XOR’d into an internal 1600-bit state in chunks, interleaved with a fixed permutation function (Keccak-f[1600]).
- Squeeze — after all input is absorbed, output bits are extracted from the state in 256-bit blocks until enough are produced.
The rate (how many bits are absorbed per permutation round) and capacity (the security margin) together determine the output length. SHA3-256 has a capacity of 512 bits, providing 256-bit collision resistance.
The critical detail for developers: SHA3-256 appends the domain-separation
byte 0x06 before padding. Keccak-256, used by Ethereum and other
blockchain systems, appends 0x01 instead. This single byte difference means
the two produce entirely different outputs for the same input — they are not
interchangeable.
Known hash values for quick verification
| Input | SHA3-256 |
|---|---|
| (empty string) | a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a |
abc | 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532 |
hello | 3338be694f50c5f338814986cdf0686453a888b84f424d792af4b9202398f392 |
These values are from the NIST test vectors and can be used to verify that an implementation is producing standard SHA3-256 (not Keccak-256).
When to choose SHA3-256
You specifically need FIPS 202 — federal and government contracts in the US often mandate NIST-approved algorithms. SHA3-256 is the FIPS 202 standard.
You want structural diversity from SHA-2 — if your application already uses SHA-256 for one purpose, adding SHA3-256 for another means a flaw in one family does not compromise both.
Your protocol mandates it — some newer standards and RFCs require SHA-3 explicitly, particularly in post-quantum or hybrid cryptographic schemes.
Do not use SHA3-256 (or SHA-256) for passwords. Use a dedicated password-hashing function like Argon2, bcrypt, or scrypt instead. General-purpose hashes are designed to be fast; password hashes are designed to be slow.
Everything runs locally in your browser, with nothing sent over the network.