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.
Hash
—
Algorithm
—
Input Bytes
— B
Hash Length
— chars
Result
—
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
| Hashing | Encryption | |
|---|---|---|
| Direction | One-way — cannot be reversed | Two-way — designed to be decrypted with a key |
| Output length | Fixed, regardless of input size | Roughly proportional to input size |
| Purpose | Verify integrity, detect changes, fingerprint data | Keep data confidential |
| Needs a key? | No | Yes |
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
| Algorithm | Output size | Hex characters | Status |
|---|---|---|---|
| MD5 | 128 bits | 32 | Broken — avoid for security |
| SHA-1 | 160 bits | 40 | Broken — avoid for security |
| SHA-224 | 224 bits | 56 | Secure |
| SHA-256 | 256 bits | 64 | Secure — recommended default |
| SHA-384 | 384 bits | 96 | Secure |
| SHA-512 | 512 bits | 128 | Secure |
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
| Input | Algorithm | Hash |
|---|---|---|
abc | MD5 | 900150983cd24fb0d6963f7d28e17f72 |
abc | SHA-1 | a9993e364706816aba3e25717850c26c9cd0d89 |
abc | SHA-256 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
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.