← Back to Tools

🔐 Hash Generator

Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes for text or files, plus HMAC and hash comparison.

📁 Click to choose a file, or drag and drop

Quick Answer

A cryptographic hash function turns any input into a fixed-length string of characters — the same input always produces the same hash, and even a tiny change in input produces a completely different one. This tool generates MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes of text or files, computes HMACs, and compares hashes — all natively in your browser using the Web Crypto API (no external library loaded).

What are hashes used for?

Hashes are used to verify file integrity (comparing a downloaded file's hash to a published checksum), store password verification data without storing the password itself, detect duplicate content, and generate checksums for version control and data deduplication. HMACs additionally prove a message came from someone who knows a shared secret key — used to authenticate API requests and webhooks.

How to use this tool

Privacy

All hashing runs locally using your browser's built-in Web Crypto API (plus a small local MD5 implementation, since Web Crypto doesn't include MD5). Files are read directly from disk into memory and never uploaded anywhere.

FAQ

Which hash algorithm should I use?

For anything security-sensitive, use SHA-256 or SHA-512. MD5 and SHA-1 are fast but cryptographically broken — collisions can be deliberately engineered — so they're only suitable for non-security uses like quick checksums or cache keys.

Can a hash be reversed back to the original text?

Not directly — hashing is one-way by design. Weak or predictable inputs (like common passwords) can still be reversed via lookup tables ("rainbow tables"), which is why passwords need salting, not just hashing.

What's the difference between a hash and an HMAC?

A plain hash only proves data integrity (it hasn't changed). An HMAC additionally proves authenticity — that whoever generated it knew the secret key — which is why APIs use HMAC signatures to verify webhook payloads.

Related Tools