Why verify a hash instead of just eyeballing it
Hashes are long enough that comparing them by eye is unreliable — a single mismatched character in the middle of a 64-character SHA-256 string is easy to miss, and that's exactly the kind of difference that matters. This tool recomputes the hash of your text and does an exact comparison for you, so you get a definitive match or mismatch instead of a guess.
What this is useful for
- Verifying a downloaded file's checksum against the one published by the source, to confirm it wasn't corrupted or tampered with in transit.
- Checking a vendor-supplied hash (e.g. an API signature or webhook checksum) matches what your own code computes, when debugging an integration.
- Confirming two pieces of text are byte-for-byte identical without diffing them directly — useful for large text where a visual diff is impractical.
How algorithm detection works
With Auto-detect selected, the algorithm is inferred purely from the expected hash's length: 32 hex characters is MD5, 40 is SHA-1, 64 is SHA-256, and 128 is SHA-512. If your hash doesn't match one of those lengths — or contains non-hex characters — auto-detection can't resolve it and you'll need to pick the algorithm manually.
The comparison itself is case-insensitive, since hex hashes are commonly written in either upper or lower case depending on the tool that generated them, and that difference doesn't change the underlying value.
How this is computed
SHA-1/256/512 use the browser's native Web Crypto API (crypto.subtle.digest). MD5 isn't implemented by Web Crypto (browsers deliberately omit insecure algorithms), so this tool includes a small pure-JavaScript MD5 implementation instead. Either way, both your text and the hash you're checking it against are processed locally and never leave your browser.