Text Hash
Computes MD5, SHA-1, SHA-256, SHA-384, SHA-512 and CRC-32 of a string, with an uppercase and Base64 output option.
Hashes text or a file with MD5, SHA-1, SHA-256, SHA-384, SHA-512, and CRC-32 at once, and can compare the result against a checksum you paste. Text is hashed as UTF-8 bytes, which is what every other tool means when it says it hashed a string.
Input
Drop a file to checksum it
Read in this tab. Nothing is uploaded.
Text is hashed as UTF-8 bytes, which is what every other tool means by hashing a string.
Digests
Paste a published checksum; the matching row lights up.
| Algorithm | Digest | Copy |
|---|---|---|
| MD5Collisions are cheap to construct. Fine as a checksum, not for signatures or passwords. | ||
| SHA-1Collisions have been demonstrated. Fine for a legacy checksum, not for anything new. | ||
| SHA-256 | ||
| SHA-384 | ||
| SHA-512 | ||
| CRC-32An error-detecting code, not a hash. Two files can share one by accident, let alone on purpose. |
Input
0 byte
Source
text box
How to use it
Type the text or drop the file
Every algorithm is computed at once, so there is no algorithm picker to get wrong. A dropped file is read in this tab and never uploaded.
Paste the published checksum
The Compare-with box lights up whichever row matches, so you do not have to know which algorithm the publisher used — or compare 64 hex characters by eye.
Switch the output format if you need Base64
Lowercase hex, uppercase hex and Base64. The digest is the same bytes; only the spelling changes.
Common questions
Which one should I use?
SHA-256 unless something else demands otherwise. MD5 and SHA-1 have practical collision attacks — fine for spotting accidental corruption, not for anything where someone might construct a second file on purpose. CRC-32 is not a hash at all; it is an error-detecting code.
Can I hash a password with this?
You can, and you should not store the result. A password needs a slow, salted function — bcrypt, scrypt, Argon2 — precisely because SHA-256 is fast: a GPU does billions a second. The bcrypt tool on this site is the right page.
Why does the same text give a different hash elsewhere?
Nearly always a trailing newline, or a different encoding. `echo "abc"` sends four bytes, `echo -n "abc"` sends three, and a file saved as UTF-16 has completely different bytes from the same text in UTF-8. Hashing is over bytes, not over what you see.
Is my file uploaded to compute the hash?
No. Hashing runs on the bytes in this tab, through the browser’s own WebCrypto for the SHA family. That is also why it works with the network off.
Feed it from
File Checksum
Hashes files of any size in a streaming pass and compares the result against a pasted expected value.
HMAC Generator
Computes an HMAC over a message with a chosen hash and key encoding, for webhook signature checks.
bcrypt & argon2 Checker
Hashes a password with bcrypt at a chosen cost and checks a password against an existing bcrypt hash. Detects argon2 but does not compute it.
Hash Identifier
Guesses which algorithm produced a hash from its length, charset and prefix, ranked by likelihood.
Next
These accept what this tool produces, so the result can go straight in.
bcrypt & argon2 Checker
Hashes a password with bcrypt at a chosen cost and checks a password against an existing bcrypt hash. Detects argon2 but does not compute it.
File Checksum
Hashes files of any size in a streaming pass and compares the result against a pasted expected value.
Hash Identifier
Guesses which algorithm produced a hash from its length, charset and prefix, ranked by likelihood.
HMAC Generator
Computes an HMAC over a message with a chosen hash and key encoding, for webhook signature checks.
Base64 Encoder & Decoder
Encodes and decodes Base64 and Base64URL for text or files, handling UTF-8 correctly.
curl to Code
Converts a curl command into fetch, axios, Python requests, Go, PHP or PowerShell.