SHA-3 and Keccak hash generator
Type or paste text and pick the algorithm. The hash updates as you type: the FIPS 202 SHA-3 family, or Keccak-256 as Ethereum uses it for addresses and function selectors. The text is encoded as UTF-8 and never leaves your browser.
Runs in your browser: nothing you enter is sent anywhere.
How to use it
- Type or paste the text in the box. Every character counts, including spaces and line breaks.
- Choose the algorithm: one of the four SHA-3 sizes, or Keccak-256 / Keccak-512.
- Copy the hex hash. Tick Uppercase hex if the system you compare with uses capital letters.
How SHA-3 works
SHA-3 is a sponge construction over a 1600-bit state. The input is split into blocks of the rate (136 bytes for SHA3-256, 72 bytes for SHA3-512) and each block is XORed into the state, which is then scrambled by 24 rounds of the Keccak-f permutation. After the last, padded block, the first bytes of the state are the hash.
| Algorithm |
Output |
Block (rate) |
Padding byte |
| SHA3-224 |
224 bits, 56 hex |
144 bytes |
0x06 |
| SHA3-256 |
256 bits, 64 hex |
136 bytes |
0x06 |
| SHA3-384 |
384 bits, 96 hex |
104 bytes |
0x06 |
| SHA3-512 |
512 bits, 128 hex |
72 bytes |
0x06 |
| Keccak-256 |
256 bits, 64 hex |
136 bytes |
0x01 |
Worked example
The text abc:
- SHA3-256: 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532
- Keccak-256: 4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45
Same input, same permutation, different padding, and the two hashes share nothing.
Tips
- Watch for trailing newlines. Text copied from a terminal often ends with a line break, which changes the hash completely.
- Ethereum function selectors are the first 4 bytes (8 hex characters) of the Keccak-256 of the signature, such as transfer(address,uint256).
- For passwords, use a password hash such as bcrypt, scrypt or Argon2, not a fast hash like SHA-3.
Frequently asked questions
What is the difference between SHA-3 and Keccak-256?
Both use the same Keccak permutation and sponge. SHA-3, standardised in FIPS 202 in 2015, changed only the padding byte (0x06 instead of 0x01). That small change gives completely different outputs, so SHA3-256 and Keccak-256 of the same text never match.
Which one does Ethereum use?
Ethereum uses the original Keccak-256, often written keccak256 in Solidity. It was adopted before SHA-3 was finalised. Choose Keccak-256 here to reproduce Ethereum hashes; for example the empty string gives c5d24601…a470.
Is SHA-3 better than SHA-256?
Both are considered secure. SHA-3 has a different internal design from SHA-2, so a weakness found in one would not automatically affect the other. SHA-256 is more widely used and supported; SHA-3 resists length-extension attacks by design.
Why does my hash differ from another tool's?
Check three things: the algorithm (SHA3-256 versus Keccak-256), invisible characters such as a trailing newline or space, and the text encoding. This tool hashes the exact characters in the box as UTF-8.
Is my text uploaded?
No. The hash is computed in your browser with a built-in implementation of the Keccak permutation; nothing is sent to a server.