Hash Generator — MD5, SHA-1, SHA-256, SHA-512

Compute cryptographic hashes of any text. Live updates as you type. Uses the browser's native WebCrypto API (SHA family) plus an MD5 implementation. Nothing is uploaded.

Hashes are computed in your browser.

What is a hash?

A cryptographic hash function takes any input — a few characters or a multi-gigabyte file — and produces a fixed-size output (the "hash" or "digest") that uniquely fingerprints the input. The function is one-way: given the hash, there's no practical way to recover the original input. Hashes are everywhere in modern computing: file integrity checks, password storage, digital signatures, blockchain transactions, deduplication, change detection.

This tool computes five common hashes of any input text: MD5 (128-bit), SHA-1 (160-bit), SHA-256 (256-bit), SHA-384 (384-bit), and SHA-512 (512-bit). The SHA family is computed using the browser's WebCrypto API; MD5 is implemented in JavaScript because it's no longer included in WebCrypto for security reasons.

Which hash should you use?

What hashes are used for

DON'T use plain hashes for passwords

SHA-256 is fast — billions of hashes per second on a modern GPU. That speed means an attacker with a stolen password database can try every common password in minutes. Use a slow, salt-aware password hashing function: bcrypt (most common), scrypt, or Argon2 (the modern best choice). These are intentionally slow and salted, raising the cost of brute force by many orders of magnitude.

Hash properties

Tips and best practice

FAQs

Is the input ever sent to a server?

No. Hashing runs entirely in your browser using the native WebCrypto API (SHA family) and JS code for MD5.

Why is MD5 included if it's insecure?

MD5 is still widely used for non-security tasks (ETags, file IDs, deduplication). The tool labels it clearly.

Can I hash a file?

Not in this tool — text only. File hashing is on the roadmap.

Are SHA hashes case-sensitive?

Hash inputs are case-sensitive — "Hello" and "hello" produce different hashes. Output hex is conventionally lowercase.

Related developer tools