Keccak-256 Hash Generator

Generate the Keccak-256 hash of any text instantly in your browser. UTF-8, hex or Base64 input; hex or Base64 output. Free, private, no upload.

Keccak-256

Runs entirely in your browser. Your data is never uploaded.

What is Keccak-256 Hash Generator?

Keccak-256 is the original Keccak hash (the SHA-3 competition winner as submitted, 2011) with a 256-bit output, before NIST changed the padding for FIPS 202. This tool computes the 256-bit Keccak-256 digest of text or raw bytes (hex or Base64) as you type and shows it as 64 hex characters or Base64.

How to use Keccak-256 Hash Generator

  1. Type or paste your input into Text to hash — the digest updates as you type (an empty box shows the hash of empty input).
  2. Choose the Input encoding: Text (UTF-8) hashes the characters as UTF-8, Hex bytes or Base64 hash the decoded raw bytes.
  3. Pick the Output format (hex lowercase, hex uppercase or Base64) and click Copy.

Example

Input
abc
Output
4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45

Keccak-256 of the 3 ASCII bytes "abc" (UTF-8, hex lowercase output), the standard test vector.

When to use Keccak-256 Hash Generator

Use the Keccak-256 text tool to hash strings: reproduce a value from documentation or code, build test vectors, compare an API signature input, or check what a program should output. Do not use it to check a downloaded file: copying file contents into a text box changes line endings and encoding, so use the Keccak-256 file checksum tool. For new standards-based work (FIPS, NIST), use SHA3-256 instead.

How Keccak-256 Hash Generator works

Keccak-256 absorbs the input into the 1600-bit Keccak-f[1600] state in 1088-bit blocks (capacity 512 bits) and applies 24 permutation rounds per block. It pads with the original Keccak rule pad10*1 (byte 0x01 … 0x80), without the 01 domain suffix that FIPS 202 added. The first 256 bits of the state are the digest, which is why Keccak-256 and SHA3-256 differ for every input. The text is first converted to bytes (UTF-8 by default), so the same characters always give the same hash.

Common Use Cases

  • Check the expected Keccak-256 of a string in a unit test or fixture
  • Hash hex bytes copied from a debugger, packet capture or protocol spec
  • Compare Keccak-256 output between two programming languages that disagree
  • Generate deterministic identifiers or cache keys from text
  • Get the Base64 form of a Keccak-256 digest for headers or configuration files

Security Note

Keccak-256 has no known practical attacks. Plain hashes are also not suitable for storing passwords: use a slow, salted password hash such as Argon2, scrypt or bcrypt. Everything is computed locally in your browser; nothing you type is sent anywhere.

FAQs

Is this the hash Ethereum calls keccak256?

Yes. Solidity keccak256, Ethereum addresses (last 20 bytes of Keccak-256 of the public key) and function selectors (first 4 bytes of Keccak-256 of the signature, e.g. transfer(address,uint256) → a9059cbb) all use this original Keccak-256, not FIPS 202 SHA3-256.

How do I hash a hex value like Solidity does?

Solidity hashes bytes, so keccak256(0x1234) hashes two bytes. Choose Hex bytes as input encoding and paste the hex without spaces; choosing Text would hash the ASCII characters instead.

Why does the hash change completely when I change one character?

That is the avalanche effect every cryptographic hash is designed for: flipping one input bit changes about half of the 256 output bits, so similar inputs give unrelated digests.

Does a trailing space or newline matter?

Yes. The hash covers every byte, so abc and abc followed by a newline give different Keccak-256 values. Make sure the input contains exactly the bytes you intend to hash.

Explore more categories