How to use the hash generator
- Type or paste into Text. Every character counts, including spaces and line breaks.
- Choose an Output format: Hex (lowercase), HEX (upper) or Base64.
- Optionally paste a digest into Compare with a known hash. The tool tells you which algorithm produced it, or that none did.
- Copy the digest you need from the table.
What it does and when to use it
Use it to check a published checksum, find which algorithm made a hash you found in a config or a database column, or produce test vectors for your own code. Seeing every algorithm at once is useful when you only know the length of a hash. A 32-character hex digest is often MD5, 40 is SHA-1 or RIPEMD-160, and 64 is SHA-256, SHA3-256, BLAKE2b-256 or BLAKE3.
The 13 algorithms are MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, BLAKE2b-256, BLAKE3, RIPEMD-160, CRC32 and xxHash64. CRC32 and xxHash64 are checksums for spotting accidental changes, not cryptographic hashes.
For a keyed signature (webhooks, API requests), use the HMAC generator instead. To verify a file, use the file hash checker, and to compare two digests directly, the hash compare tool.
How it works
The text is encoded as UTF-8 bytes and passed to the hash-wasm library. That is WebAssembly code that loads the first time you use the tool and then runs in your browser. Your text is not uploaded. Base64 output re-encodes the same raw digest bytes, so a SHA-256 is 64 hex characters or 44 Base64 characters. After the table, a notice reminds you that MD5 and SHA-1 are broken for security use.
Worked examples
The input abc gives the published test values: MD5 as listed in RFC 1321, and SHA-1 and SHA-256 as in the NIST examples:
MD5 | 900150983cd24fb0d6963f7d28e17f72
SHA-1 | a9993e364706816aba3e25717850c26c9cd0d89d
SHA-256 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
CRC32 | 352441c2
Pasting the SHA-256 in uppercase into the compare box returns Matches SHA-256.
The newline trap. hello world hashes to b94d27b9…cde9 with SHA-256, but hello world followed by a line break (what echo sends) gives:
SHA-256 | a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447
Limits and tips
- Empty input still hashes. An empty box gives the well-known empty-string digests, such as SHA-256
e3b0c442…b855, so check the box is not blank by mistake. - No salt or key. The same text always gives the same digest. Short or common inputs can be found in lookup tables.
- Text only. Binary data, hex strings and Base64 strings are hashed as the characters you typed, not decoded first.
Frequently asked questions
Why does my terminal give a different SHA-256 for the same text?
How is text turned into bytes?
Can I use this to hash passwords?
Why does Compare not find a hash I know is right?
Can I hash a file?
How do we know nothing is uploaded? Test it yourself on the privacy proof page.