// tools

Hash generator

Type or paste text; the hashes update live. Computed in your browser via crypto.subtle.digest. Nothing leaves the page.

sha-1
sha-256
sha-384
sha-512

Where's MD5?

The browser's SubtleCrypto API doesn't implement MD5 because MD5 is broken — practical collision attacks have existed since 2004 (Wang & Yu) and now run in seconds on commodity hardware. If you genuinely need MD5 for a legacy checksum that pre-dates the fix, use a Node script with crypto.createHash('md5') rather than ship a JS implementation we'd have to maintain. For everything else, use SHA-256.

Picking the right algorithm

  • SHA-256 — default. Webhook signatures, content addressing, certificate fingerprints all use this.
  • SHA-512 — slightly faster on 64-bit machines for large inputs; same security posture as 256.
  • SHA-1— considered weak (collision found in 2017) but still appears in git object IDs, legacy webhook providers, and some package managers. Don't use for new code.