Written by Alex Chen · Reviewed by Jane Smith · July 18, 2026
Compute cryptographic hashes of any text using SHA-256, SHA-512, SHA-1, or MD5. All hashing is done in your browser using the Web Crypto API.
A hash squeezes text of any length down to a fixed-size string of hex characters. Feed this page the single word "cat" or a 10,000-word document and MD5 still returns exactly 32 characters, SHA-1 exactly 40, SHA-256 exactly 64, and SHA-512 exactly 128. The length of the input never shows up in the output.
Two properties make a hash useful. First, the same input always produces the same digest, so a hash behaves like a fingerprint you can compare side by side. Second, changing a single character scrambles the entire output, so a corrupted or tampered file becomes obvious at a glance. The process is one-way: given only a digest, you cannot reconstruct the text that produced it.
SHA-256 and SHA-512 come from the browser's built-in SubtleCrypto API, the same cryptography underneath HTTPS connections and digital signatures. MD5 and SHA-1 run through a compact pure-JavaScript implementation so they work in every browser with no extra libraries. Input is encoded as UTF-8 before hashing, so accented letters, emoji, and other non-English text produce correct digests rather than mojibake.
Every calculation happens in this tab. Nothing is uploaded, logged, or kept on a server, and the page keeps working offline once it has loaded. An empty input keeps the output blank; the digest appears the moment you type.
Type the word hello and compare the four digests:
Now retype the same word with a capital H and watch every digest change completely, even though the input differs by a single letter. The compare field accepts a hash pasted from anywhere else and tells you instantly whether it matches your current output — handy when a release note or a colleague hands you a checksum to check.
Browser support draws another boundary: SubtleCrypto only exists in secure contexts, so the page needs HTTPS or localhost rather than a plain http:// address.
Do not reach for a hash for encryption — it has no key and cannot be reversed — and do not protect passwords with a plain digest. A slow, salted key-derivation function such as bcrypt or Argon2 is the right layer for credentials, and most frameworks already handle that for you.
It proves integrity, not authorship. If you trust the channel that published a checksum, a matching digest confirms the bytes you hold are exactly the bytes that were published. Anyone can compute the digest of any text, so a hash never proves who created a file.
Hashing operates on bytes, and different editors can store the same-looking text with different byte sequences. A trailing space, a Windows line ending, or an accented letter kept as two code points instead of one all change the input, and a changed input always changes the digest. Given the same bytes, the algorithm always returns the same result; the variance comes from the input, not the math.
Occasionally. Some legacy systems only publish MD5 sums, and for a quick sanity check over data you control, the risk of a crafted collision is usually negligible. The moment the data could be influenced by someone else — downloads, uploads, anything crossing a trust boundary — switch to SHA-256.
This page hashes text, not files, so for a downloaded archive use your operating system. On macOS or Linux, sha256sum filename.zip prints the digest; on Windows, Get-FileHash filename.zip -Algorithm SHA256 does the same. Compare that output against the checksum on the publisher's page, character for character.
No. A digest is a one-way summary, but short, common inputs are trivially reversible through lookup tables of precomputed hashes. That is why passwords need random salt plus a slow key-derivation function: without both, a hash gives an attacker almost no protection.