Hash Generator
Type or drop a file — all five digests at once.
What this hash tool does
A hash function turns any input — a sentence, a password, a 4 GB disk image — into a fixed-length fingerprint. Change one bit of the input and the fingerprint changes completely, which makes hashes the standard way to verify that a file arrived intact, to check that two documents are identical without comparing them byte by byte, and to store passwords without storing the password itself. This page computes MD5, SHA-1, SHA-256, SHA-384 and SHA-512 simultaneously for whatever you type or any file you select, and shows the results in hexadecimal or Base64.
The SHA family runs on the browser's Web Crypto API, the same implementation used for TLS, so it is fast and correct even on large files. MD5 is not provided by browsers, so a compact reference implementation of RFC 1321 is bundled; it has been checked against the standard test vectors. Files are read locally and never uploaded.
How to use it
Type or paste text and the five hashes update as you go. Click File to hash a download, an installer or a backup; the file name and byte count appear under the input. Toggle Uppercase or Base64 to match the format your source uses — Linux sha256sum prints lowercase hex, many APIs and Docker image digests use lowercase hex too, while Content-MD5 headers and Subresource Integrity attributes use Base64. To verify a download, paste the checksum from the vendor's page into the Verify box: the matching row turns green and the status says whether it matched, regardless of case or format.
Enable HMAC and enter a secret key to compute keyed hashes (HMAC-SHA256 and friends), which is how webhook signatures from Stripe, GitHub and Slack, AWS Signature v4 and many API authentication schemes are built. HMAC is not defined for MD5 here because no modern system should be using it.
Which algorithm should I use?
SHA-256 is the default choice in 2026: it is in every language's standard library, produces a 64-hex-character digest, and has no known practical attacks. SHA-512 is faster on 64-bit CPUs and used where a longer digest is wanted. SHA-1 and MD5 are broken for collision resistance — researchers have produced two different files with the same MD5 since 2004 and the same SHA-1 since 2017 (the SHAttered attack) — so they must not be used for signatures or certificates, but they remain fine for non-security uses such as deduplication, cache keys and checking a download against a checksum published by the same site. For storing passwords, none of these are appropriate on their own: use bcrypt, scrypt or Argon2, which are deliberately slow.
Background: from MD5 to SHA-3
MD5 was designed by Ron Rivest at MIT in 1991 (RFC 1321) as a faster successor to MD4 and became the universal checksum of the 1990s internet. SHA-1 followed from the NSA in 1995 (FIPS 180-1) with a 160-bit output. As attacks on both matured, NIST published the SHA-2 family in 2001 — SHA-256 and SHA-512 among them — and after an open competition selected Keccak as SHA-3 in 2015 as a structurally different backup. Browsers exposed SHA-1, SHA-256, SHA-384 and SHA-512 through the Web Crypto API standardised by the W3C in 2017, which is what makes tools like this one possible without any server.
Where it is used
Verifying ISO images, installers and firmware against the SHA-256 published on the download page; Git commit IDs (SHA-1, migrating to SHA-256); Docker and OCI image digests (sha256:…); package lock files and Subresource Integrity hashes in HTML; webhook signature verification with HMAC-SHA256; ETags and cache keys in CDNs; deduplicating files in backup tools; Bitcoin's proof of work (double SHA-256); and quick equality checks between two large exports. When a signature or digest arrives inside a JWT or a JSON payload, decode the container first, then verify the hash here.
Frequently asked questions
Is my file uploaded?
No. The file is read by your browser and hashed locally with the Web Crypto API. You can disconnect from the internet and it still works.
Why does my hash not match the vendor's checksum?
Most often the download is incomplete or a different file version, or you are comparing hex against Base64. The Verify box accepts either format and ignores case; if it still fails, re-download.
Can I reverse a hash to get the original text?
No. Hashes are one-way. Short or common inputs can be found by lookup tables, which is why passwords should never be stored as a plain hash.
Is MD5 still safe to use?
For checksums and deduplication, yes. For anything security-related — signatures, certificates, password storage — no; use SHA-256 or better, and a slow hash such as Argon2 for passwords.
What is HMAC?
A hash combined with a secret key so that only someone holding the key can produce or verify it. It is the standard way APIs sign webhooks and requests.