Generate SHA-3 Hash
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Generate SHA-3 Hash enables you to produce cryptographic hashes using the SHA-3 (Secure Hash Algorithm 3) family of hash functions. SHA-3 is the latest member of the Secure Hash Algorithm family, standardized by NIST in 2015, and is based on the Keccak sponge construction. Unlike Keccak-256 (which is used by Ethereum), SHA-3 uses a different padding scheme and is the official NIST standard. This tool supports all four SHA-3 variants: SHA-3-224 (28 bytes), SHA-3-256 (32 bytes), SHA-3-384 (48 bytes), and SHA-3-512 (64 bytes). The tool takes your input data as either plain text or hex-encoded bytes, applies the selected SHA-3 algorithm, and returns the hash as a hex string. This is useful for developers building cross-chain applications, verifying data integrity, implementing NIST-standard cryptography, or any application that requires SHA-3 hashing. The tool is read-only and works entirely in the browser using the js-sha3 library, requiring no network calls or gas fees.
HOW TO USE
Connect your wallet using the BGWallet connector (required for context). Select the input format that matches your data: "Text" for plain UTF-8 text strings or "Hex" for raw hex-encoded bytes. Choose the output bit length from the dropdown: SHA-3-224, SHA-3-256, SHA-3-384, or SHA-3-512. Enter your input data in the text area—for text, this can be any string; for hex, it must contain only valid hex characters (0-9, a-f, A-F) and have an even length. Click "Generate hash" to compute the SHA-3 hash of your input. The tool displays the input format, selected bit length, the length of your input in bytes, and the resulting hash as a hex string with a 0x prefix. You can copy the hash to your clipboard with one click. The tool also provides real-time feedback on input length and format validation, making it easy to ensure your data is correctly formatted before hashing.
TECHNICAL MECHANISM
This tool implements the SHA-3 algorithm using the js-sha3 library, which provides a pure JavaScript implementation of the NIST-standard SHA-3 hash functions. For text input, the tool first converts the UTF-8 string to bytes using ethers.utils.toUtf8Bytes(), ensuring proper encoding of all Unicode characters. For hex input, the tool validates the hex string format and converts it to a Uint8Array using ethers.utils.arrayify('0x' + data). The js-sha3 library then processes the input through the Keccak sponge construction with the appropriate output length (224, 256, 384, or 512 bits). SHA-3 differs from Keccak in its padding: SHA-3 uses the 10*1 padding pattern (two bits of padding, with the first bit being 1 and the remaining bits being 0), while Keccak uses the 01*1 pattern. This means that for the same input, Keccak-256 and SHA-3-256 produce different outputs. The tool automatically handles the correct padding for the selected SHA-3 variant. All computation is performed locally in the browser using JavaScript, with no data sent to external servers.
WHAT IT CANNOT SEE
This tool cannot reverse or decrypt the hash to recover the original input—SHA-3 is a one-way cryptographic hash function, and reversing it is computationally infeasible. It cannot verify that the hash corresponds to a specific input without having the original data and recomputing the hash. The tool does not support other hash algorithms (e.g., Keccak-256, SHA-2, Blake2b) or any variant other than SHA-3. It cannot generate hashes for inputs larger than the browser's memory limit; extremely large inputs may cause performance issues or errors. The tool does not support hashing of files or binary data larger than the text input limit; for large files, you would need to use a file-based approach. The tool cannot guarantee that the hash output is unique for all possible inputs due to the pigeonhole principle—hash collisions are theoretically possible, though practically infeasible. It does not support salted hashing or HMAC generation; if you need a salted hash, you must concatenate the salt with your input before hashing. The tool cannot verify the integrity of the original data without having the original hash value to compare against.
PLEASE NOTE
This tool is specific to the SHA-3 algorithm family as standardized by NIST. SHA-3 is different from Keccak-256 (the hash used in Ethereum) and from SHA-2 (the older NIST standard). Make sure you are using the correct algorithm for your application. The output hash is always a hex string with a 0x prefix, with length determined by the selected bit length: 56 characters for SHA-3-224, 64 for SHA-3-256, 96 for SHA-3-384, and 128 for SHA-3-512. For text inputs, the tool uses UTF-8 encoding, which is standard for most applications. For hex inputs, the tool expects a hex string without the 0x prefix; the prefix is added internally. The hash function is deterministic, meaning the same input will always produce the same output. All computation is done in your browser and no data is transmitted. This tool is useful for generating SHA-3 hashes for: data integrity verification, digital signatures, blockchain applications, cross-chain verification, and any other application requiring NIST-standard cryptography.