How to use it
- Type or paste the text into Text.
- Leave Key (optional) empty for plain digests, or type a key to get HMACs.
- Copy a digest from its row, or use Download as CSV to keep the whole table.
- Check the algorithm in the first column against the one your system or document asks for.
What a hash is
A hash function turns any text into a code of fixed length, called a digest. The same text always gives the same digest, a small change gives a completely different one, and the digest cannot be turned back into the text. Here the digests are written in hexadecimal: MD5 has 32 digits, SHA-1 has 40, SHA-256 has 64, SHA-384 has 96 and SHA-512 has 128.
Hexadecimal digits = bits ÷ 4
MD5 128 ÷ 4 = 32
SHA-256 256 ÷ 4 = 64
SHA-512 512 ÷ 4 = 128
Which algorithm to use
MD5 and SHA-1 are broken. Two different texts can be found with the same digest, so they must not be used for signatures or certificates. They still appear in old systems and as a quick check against accidental damage to a download. SHA-256 and SHA-512 belong to the current standard, FIPS 180-4, and are the usual choice.
To store passwords, use a password hashing function such as Argon2 or bcrypt. None of the digests on this page is meant for that.
HMAC: a digest with a key
An HMAC (RFC 2104) combines a key with a hash in a fixed way. Only someone who knows the key can make the same HMAC, so it shows that a message comes from a known sender and was not changed on the way. The page computes HMACs with the same algorithms as the plain digests.
Text is bytes
- The text is hashed as UTF-8 bytes (RFC 3629). ASCII letters take one byte, Turkish letters such as ğ take two, and an emoji takes four.
- A different line ending, a different encoding or one extra space gives a different digest, so hash the same bytes as the other tool.
Worked example: abc and an HMAC
The digests of the text abc are published values: MD5 in RFC 1321, and SHA-1, SHA-256, SHA-384 and SHA-512 in FIPS 180-4.
With the key Jefe and the text what do ya want for nothing?, HMAC-SHA-256 is 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843, the test value of RFC 4231, test case 2.
| Algorithm | Digest of abc |
|---|---|
| MD5 | 900150983cd24fb0d6963f7d28e17f72 |
| SHA-1 | a9993e364706816aba3e25717850c26c9cd0d89d |
| SHA-256 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
| SHA-384 | cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7 |
| SHA-512 | ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f |
Frequently asked questions
Is MD5 safe for passwords?
No. MD5 is fast and broken, so a leaked list of MD5 password hashes is easy to crack. Store passwords with a password hashing function such as Argon2 or bcrypt.
Is SHA-256 the same as encryption?
No. A hash is one-way: it cannot be turned back into the text, and it uses no key. Encryption can be reversed with the right key. Use a hash to check integrity, and an HMAC to check that a message came from someone who knows the key.
What is the difference between a hash and an HMAC?
A hash depends only on the text. An HMAC also needs a secret key, so only someone with the key can make or check it. Webhook and API signatures are usually HMAC-SHA-256.
Why do my digests differ from another tool?
The bytes must be the same. A different line ending, a different encoding such as Windows-1254, or one extra space changes every digest. Hash the same bytes that the other tool hashes.
Is my text sent anywhere?
No. The digests are computed in your browser, and the text is not uploaded or stored.
Can I check a file with this tool?
This page hashes text only. For a file, use the checksum tool of your operating system or the checksum that the download site publishes.
Sources
- RFC 1321: The MD5 Message-Digest Algorithm (IETF)
- NIST FIPS 180-4: Secure Hash Standard (SHA-1 and the SHA-2 family)
- RFC 2104: HMAC, Keyed-Hashing for Message Authentication (IETF)
- RFC 4231: Test vectors for HMAC-SHA-224, -256, -384 and -512 (IETF)
Figures and text last checked on Tuesday, November 10, 2026.