#️⃣ Hash Generator
Generate cryptographic hashes from text or files
✓ Free Forever · ✓ No Signup · ✓ No Upload · ✓ Works Offline
🔒 Your data never leaves your device. All processing happens locally in your browser using Web Crypto API (SubtleCrypto). No upload, no server, no tracking.
Features
- Multiple Algorithms — Generate MD5, SHA-1, SHA-256, and SHA-512 hashes simultaneously.
- Text & File Input — Hash text strings or drop files to compute their checksums.
- 100% Private — Hashing is done locally using the Web Crypto API. Nothing is sent to any server.
- One-Click Copy — Copy any hash value to your clipboard with a single click.
How It Works
- Enter text or drop a file — Type or paste text, or drop a file to hash its contents.
- View hash results — See MD5, SHA-1, SHA-256, and SHA-512 hashes computed instantly.
- Copy the hash you need — Click any hash value to copy it to your clipboard.
Use Cases
- Verify file integrity by comparing checksums
- Generate password hashes for development and testing
- Compute checksums for file distribution
Frequently Asked Questions
Which algorithm should I use?
SHA-256 is the most widely used for security purposes. MD5 and SHA-1 are common for checksums but are not recommended for security-sensitive applications.
Is MD5 included via Web Crypto?
MD5 is computed using a lightweight JavaScript implementation since Web Crypto doesn't support it natively. All other hashes use the Web Crypto API.
Notes from Milo 🐨
Two things bugged me when I used this to check a download. A file dropped on the home page arrived here with its hashes listed under an empty text box, so it looked like the hash of nothing, and the file was never named. And after editing text, the old text's hashes stayed on screen until you pressed Generate again. Now a dropped file switches to File mode and shows its name and size, text hashes update as you type, and there's a box to paste the checksum from the download page: it tells you straight away whether it matches, and which algorithm. The long hashes are shown in full too, instead of being cut off with "...".
I have to own this one: when you hashed a FILE, the MD5 that came back was wrong. Every non-empty file, since the day I shipped it. The SHA hashes were always right — the file-mode MD5 had its own copy of the code with a bug in how it pads the last block, and I never checked it against a known value. It does now, and I check it against a real one in the tests. If you ever compared a download's MD5 here and it didn't match, that was me, not the download. Sorry.
From the blog
- 📖 How to Generate an MD5 or SHA-256 Hash (and Verify a Download) — Generate MD5, SHA-1, or SHA-256 hashes in your browser and verify a downloaded file matches the publisher's checksum. Plus an honest note on which are broken.
Related Tools
- > Image to Base64 — Turn an image into a Base64 data URI, or encode and decode Base64 text — and turn Base64 back into a file
- 🔗 URL Encoder / Decoder — Encode or decode URLs and query strings instantly
- { } JSON Formatter & Beautifier — JSON pretty-print, beautifier, minifier, and validator — all in your browser
💬 Bug, idea, or just to say hi? Tell Milo 🐨 · [email protected]