Hash Generator

Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes from text or files, compare against an expected hash, and view results in hex or Base64 — all computed locally in your browser.

How to Generate Hashes

  1. Choose "Hash Text" or "Hash File" using the toggle at the top of the tool.
  2. Pick which algorithms you want using the checkboxes — MD5, SHA-1, SHA-256, SHA-384, and SHA-512 are all selected by default.
  3. In text mode, paste your text and click "Generate Hashes"; in file mode, click or drag a file into the upload area and hashing starts automatically.
  4. Choose "Hex" or "Base64" to switch how every result is displayed, and click "Copy" next to any hash to copy just that value.
  5. To verify a download or check a value you already have, paste the hash you expect into the "Compare a Hash" field — a match or no-match indicator appears instantly.

Frequently Asked Questions

Can I turn a hash back into the original text?

No — hashing is one-way by design. MD5, SHA-1, SHA-256, SHA-384, and SHA-512 are cryptographic (or legacy) hash functions, not encryption, so there is no decode step that recovers your original text or file from the hash; this tool only computes hashes, it never reverses them.

Which hash algorithm should I use?

SHA-256 is a solid general-purpose default for verifying file integrity or generating checksums. SHA-384 and SHA-512 produce longer digests and are reasonable choices when you want extra margin. SHA-1 and MD5 are included mainly for compatibility with older systems and checksums you already have — both are considered cryptographically broken and should not be relied on for security purposes today.

Why do all the hashes change completely if I add one character to the input?

That's the avalanche effect, a core property of cryptographic hash functions: changing even a single character in the input produces a completely different, unpredictable output, which is what makes hashes useful for detecting even tiny modifications to data or files.

Does this tool use a third-party hashing library?

For SHA-1, SHA-256, SHA-384, and SHA-512 it calls crypto.subtle.digest(), part of the Web Crypto API built into your browser, so those digests are computed by the browser's own cryptography engine. MD5 is not part of the Web Crypto API, since it is cryptographically broken, so this tool includes a small self-contained MD5 implementation in its own JavaScript, verified against the official RFC 1321 test vectors — no third-party library is loaded for either.

Is my text or file uploaded anywhere to compute the hash?

No — everything runs locally in your browser tab. Text is hashed directly, and files are read with the FileReader API and hashed from memory, so nothing you type or upload is ever sent to a server.

Can I hash a file instead of typing text?

Yes — switch to Hash File mode and drop in any file, such as a download you want to verify. The file's raw bytes are read locally and hashed with every algorithm you have selected, which is exactly how published checksums like a SHA-256 line on a download page are meant to be verified.

Can I check a hash against an expected value?

Yes — paste the hash you are checking against into the Compare a Hash field below the results. The tool checks it against every hash you have generated, in both hex and Base64, and shows a clear match or no match indicator instead of making you eyeball long strings of characters.

What is the difference between the hex and Base64 hash output?

Both represent the exact same digest bytes, just in a different text format. Hex uses 0-9 and a-f and is twice as long as the raw digest; Base64 uses a wider set of characters and is shorter, which can be handy when a system expects Base64-encoded hashes, such as some checksum or HTTP header formats.