Hash Generator

Type or paste text to see its MD5, SHA-1, and SHA-256 hashes, all at once, updated live as you type.

MD5 128-bit
β€”
SHA-1 160-bit
β€”
SHA-256 256-bit
β€”

How to use it

  1. Type or paste any text into the box.
  2. All three hashes β€” MD5, SHA-1, SHA-256 β€” update automatically as you type.
  3. Click Copy next to any hash to grab it.
  4. Hashing is one-way: there's no "decode" here, because hashes aren't meant to be reversed.

What's actually happening

SHA-1 and SHA-256 are computed using the browser's built-in crypto.subtle.digest() β€” the Web Crypto API, the same cryptographically-audited implementation used by browsers for TLS and other security-critical operations. Your text is first converted to UTF-8 bytes, then hashed, then the resulting bytes are formatted as lowercase hexadecimal.

MD5 is not available through Web Crypto β€” browsers deliberately excluded it because of its known weaknesses β€” so this tool implements the standard MD5 algorithm (as defined in RFC 1321) directly in JavaScript: padding the message to a multiple of 512 bits, processing it in 64-step rounds using bitwise operations and a table of 64 constants, and producing a 128-bit digest.

Worked example

Hashing the string Hello, DevKit Forge! (try it in the box above) produces:

MD5:     (computed live above β€” updates instantly)
SHA-1:   (computed live above)
SHA-256: (computed live above)

Change even a single character β€” a comma, a space β€” and every hash changes completely. That's the avalanche effect: a well-designed hash function produces a wildly different output for even a tiny input change, which is exactly what makes hashes useful for detecting alterations.

Reference: which algorithm for which job

Use caseRecommendedWhy
File integrity / checksumsSHA-256 (or MD5 for legacy tools)Fast, and collision resistance matters less for accidental corruption
Git commit IDsSHA-1 (Git's choice, being phased toward SHA-256)Historical Git design decision, not a security requirement here
Password storageNeither β€” use bcrypt/scrypt/Argon2General hashes are fast, which helps attackers brute-force
Digital signatures / certificatesSHA-256 or strongerMD5 and SHA-1 both have practical collision attacks

Frequently asked questions

Is MD5 safe to use for passwords?

No. MD5 is cryptographically broken and fast enough that attackers can brute-force short inputs quickly. It's still fine for non-security uses like checksums, but never for passwords or anything requiring collision resistance.

Is SHA-1 still considered secure?

No. SHA-1 has practical collision attacks and is deprecated for security-sensitive use. Use SHA-256 or stronger where collision resistance matters β€” SHA-1 here is mainly for compatibility with legacy systems.

Should I hash passwords with SHA-256 directly?

No. General-purpose hashes are fast by design, which makes brute-forcing cheap. Passwords should use a dedicated slow, salted algorithm like bcrypt, scrypt, or Argon2.

Why do the same input and different algorithms produce completely different-length output?

Each algorithm has a fixed output size: MD5 is always 128 bits (32 hex chars), SHA-1 always 160 bits (40 hex chars), SHA-256 always 256 bits (64 hex chars) β€” regardless of input length.

Does this tool hash files or only text?

Only text entered directly. Hashing files needs raw binary data through the File API, a different workflow intentionally out of scope here.

About this tool

SHA-1 and SHA-256 use the browser's native, audited Web Crypto implementation. MD5 uses a from-scratch RFC 1321 implementation since browsers don't expose it natively β€” verified against known test vectors (e.g. the empty string hashes to d41d8cd98f00b204e9800998ecf8427e). None of these algorithms are suitable for password storage; see the FAQ above.

Related tools