Skip to main content
Developer Tools Developer Tools

Hash Generator

Generate MD5, SHA-1, SHA-224, SHA-256, SHA-384, or SHA-512 hashes from any text instantly. Runs entirely in your browser.

Calculator

A hash is not encryption

Hashing is one-way — there is no way to recover the original text from a hash. But it is not secret: anyone can compute the same hash from the same input, so a hash alone proves nothing about who created it. MD5 and SHA-1 are cryptographically broken and must never be used for new security-sensitive purposes (password storage, digital signatures, integrity guarantees against a motivated attacker) — use SHA-256 or stronger. This tool hashes plain text only; it does not implement salting, key stretching, or HMAC, which real password storage requires.

How Hash Generator Works

What is a Hash?

A hash function takes any input — a word, a paragraph, a file's worth of bytes — and produces a fixed-length string of characters called a hash (or digest). The same input always produces the same hash, and changing even a single character of the input produces a completely different hash. Hashing is one-way: there is no operation that reverses a hash back into its original input. This makes hashes useful for verifying that data hasn't changed (integrity checks), identifying duplicate content, and — in specially designed forms not covered by this tool — storing passwords without storing the passwords themselves.

Hash vs Encryption

HashingEncryption
DirectionOne-way — cannot be reversedTwo-way — designed to be decrypted with a key
Output lengthFixed, regardless of input sizeRoughly proportional to input size
PurposeVerify integrity, detect changes, fingerprint dataKeep data confidential
Needs a key?NoYes

These are often confused because both turn readable input into unreadable-looking output, but they solve different problems. A hash is not a "locked" version of your text waiting to be unlocked — it is a fingerprint. Nobody, including you, can turn a hash back into the text that produced it.

MD5

MD5 produces a 128-bit (32 hex character) hash and was once the default choice for checksums and basic integrity checks. It is now considered cryptographically broken: researchers can deliberately construct two different inputs that produce the same MD5 hash (a "collision") relatively cheaply. MD5 remains fine for non-adversarial uses like detecting accidental file corruption, but must never be used anywhere a malicious actor could benefit from forging a collision.

The SHA Family

SHA (Secure Hash Algorithm) is a family of hash functions published by NIST. SHA-1 (160-bit) is also broken for adversarial use, though less severely than MD5. SHA-2 — the family that includes SHA-224, SHA-256, SHA-384, and SHA-512 — remains secure and is the current standard for new applications. SHA-256 in particular is the workhorse of modern cryptography, used in TLS certificates, Git commit identifiers, and Bitcoin's proof-of-work.

Hash Length Comparison

AlgorithmOutput sizeHex charactersStatus
MD5128 bits32Broken — avoid for security
SHA-1160 bits40Broken — avoid for security
SHA-224224 bits56Secure
SHA-256256 bits64Secure — recommended default
SHA-384384 bits96Secure
SHA-512512 bits128Secure

Security Recommendations

  • Hashes are one-way. There is no way to recover the original input from a hash, by design.
  • Hashes are not encryption. A hash provides no confidentiality guarantee on its own — anyone can compute the same hash from the same input.
  • MD5 and SHA-1 should not be used for new security-sensitive applications. Both have known practical collision attacks. Use them only for non-adversarial checksums where nobody benefits from forging a match.
  • SHA-256 or stronger is recommended for integrity checks, digital signatures, and any new system design.
  • Never use a raw hash for password storage. Real password storage requires salting and a deliberately slow, memory-hard algorithm (like bcrypt, scrypt, or Argon2) to resist brute-force attacks — this tool intentionally does not implement any of that.

Common Mistakes

  • Hashing a password directly for storage. A plain hash of a password is fast to brute-force with modern hardware. Password storage needs a purpose-built algorithm with salting and deliberate slowness, not a general-purpose hash function.
  • Treating a hash as reversible. There is no "decode" for a hash — if you need to recover the original data, you need encryption (two-way) instead of hashing (one-way).
  • Assuming a matching hash proves authorship. Anyone can compute a hash from public input — a matching hash proves the input is identical to what produced it, not who produced it.
  • Using MD5 or SHA-1 in a new security-sensitive design. Both are fine for detecting accidental corruption but broken against a deliberate attacker.

Worked Examples

InputAlgorithmHash
abcMD5900150983cd24fb0d6963f7d28e17f72
abcSHA-1a9993e364706816aba3e25717850c26c9cd0d89
abcSHA-256ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

Related Tools

Hashing is one of several ways to transform text for developer workflows: encode binary data with the Base64 Encoder, percent-encode a value for a URL with the URL Encoder, escape markup with the HTML Encoder, inspect a signed token with the JWT Decoder, extract text with the Regex Tester, or reformat structured data with the JSON Formatter.

Accuracy & Sources

Last reviewed: August 2026. Formula source: Python hashlib — Secure hashes and message digests. All calculations run in your browser. No data is sent to any server.

Frequently Asked Questions

MD5, SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512 — all generated using Python's standard hashlib library. SHA-256 is selected by default and recommended for new use; MD5 and SHA-1 are included for compatibility with legacy systems but are labeled as not suitable for new security-sensitive applications.

No. Hashing is a one-way operation by design — there is no algorithm that recovers the original input from its hash. This is different from encoding (like Base64) or encryption, both of which are reversible.

No. Raw hashes of passwords, even with SHA-256 or SHA-512, are fast to brute-force with modern hardware. Real password storage requires a purpose-built algorithm — bcrypt, scrypt, or Argon2 — with salting and deliberate slowness. This tool intentionally does not implement password hashing, salting, or HMAC.

Both have known practical collision attacks, meaning an attacker can deliberately construct two different inputs that produce the same hash. They remain fine for non-adversarial uses like detecting accidental file corruption, but must not be used anywhere a malicious actor could benefit from forging a match.

No — this tool hashes text input only. There is no file upload, and nothing you type is ever sent to or stored on a server; hashing runs entirely in your browser via the Web Crypto API where supported, or a transient server-side computation as a fallback.

This is a deliberate property called the avalanche effect — even a one-character change to the input produces a completely different, unrelated-looking hash. It's what makes hashes useful for detecting any change to data, no matter how small.