Hash Generator
Compute SHA-256, SHA-1, SHA-512, and MD5 hashes for text or files.
MD5 and SHA-1 are broken for security use. Use them only for non-security checks like file checksums. Text and files are processed entirely in your browser and never uploaded.
What a hash is
A hash function maps input of any length to a fixed-length value. The same input always produces the same output, and changing a single character changes the output completely. That property is what makes hashes useful for detecting tampering.
| Algorithm | Output | Status | |---|---|---| | MD5 | 32 hex chars (128-bit) | Broken — collisions demonstrated | | SHA-1 | 40 hex chars (160-bit) | Broken — collisions demonstrated | | SHA-256 | 64 hex chars (256-bit) | Current standard | | SHA-512 | 128 hex chars (512-bit) | Current standard |
Can I store passwords with these?
Not with a general-purpose hash. Two reasons.
First, MD5 and SHA-1 are already broken. Producing two different inputs with the same hash — a collision — has been demonstrated in practice. In 2017 Google published two different PDFs sharing one SHA-1 hash.
Second, and more fundamentally, general-purpose hashes are too fast. A modern GPU computes billions of SHA-256 hashes per second. If your database leaks, common passwords fall almost immediately.
Password storage needs algorithms that are deliberately slow:
- bcrypt — long-established and well vetted
- scrypt — also memory-hard by design
- Argon2 — winner of the 2015 Password Hashing Competition, the current recommendation
All of them build in a salt and let you tune the work factor.
Why salt matters
The same password always produces the same hash. The SHA-256 of 123456 is identical everywhere on earth.
Attackers precompute hashes of common passwords into lookup tables — rainbow tables. Finding a leaked hash in that table instantly reveals the original.
A salt is a random value unique to each user, mixed into the password before hashing. The same password then produces a different hash per user, and precomputed tables become useless.
So why does MD5 still exist?
It remains useful where security is not the point:
- Verifying a download was not corrupted in transit
- Finding duplicate files
- Generating cache keys
In those cases the question is "did this change by accident?", not "could someone deliberately forge a match?".
That said, if you are verifying a checksum published by a vendor, use SHA-256. An attacker swapping the file while keeping the MD5 intact is theoretically achievable.
Verifying a file checksum
Linux distributions and open-source projects publish SHA-256 checksums alongside downloads. Compute the hash of the file you received and compare.
Drop a file into the "File" tab above and all four hashes are computed. The file is never uploaded — everything happens in your browser.
From the command line:
# macOS / Linux
shasum -a 256 filename
# Windows PowerShell
Get-FileHash filename -Algorithm SHA256
Can a hash be reversed?
Not mathematically. Hashing is one-way and discards information. A 100 MB file collapses to 64 characters; there is no way to reconstruct 100 MB from those characters.
Short or common inputs are a different story. Looking them up in a precomputed table works fine — that is all "hash cracking" sites actually do. They are not reversing anything, just querying a database.
This is why hashing a phone number or email address does not anonymize it. The space of possible phone numbers is small enough to enumerate exhaustively.
Large files
This tool loads the file into browser memory. Files up to a few hundred megabytes are usually fine, but the limit depends on the device and larger files take noticeably longer.
For multi-gigabyte files, the command-line tools above are faster.
Related tools
If you need a reversible encoding instead, use the Base64 encoder and decoder. To inspect token structure, see the JWT decoder.