Hash Generator.
SHA-256, SHA-512, SHA-1 and MD5 for text or files — with HMAC support, computed entirely in your browser.
HMAC is available for the SHA family. MD5 is hidden in HMAC mode.
— — — — — What a cryptographic hash does
A hash function turns any input — a word, a file, a hard drive — into a fixed-length fingerprint. The same input always produces the same hash, but the reverse direction is computationally impossible, and changing a single bit of input completely changes the output (the avalanche effect). Hashes verify integrity: if two digests match, the data is identical.
Not for passwords
Fast hashes like SHA-256 are the wrong tool for storing passwords — an attacker can try billions of candidates per second against a stolen database. Passwords belong in a deliberately slow, salted password hash: Argon2, bcrypt, or scrypt. If you need a strong password to begin with, try our password generator.
Where hashes are used
- Download checksums — verify a file arrived intact and untampered.
- Git — every commit ID is a hash of its content and history.
- Digital signatures & certificates — documents are hashed, then the hash is signed.
- Webhook & API signatures — HMACs prove a request came from the right sender.
The trailing-newline trap
The most common "wrong hash" mystery: your terminal's echo appends a newline, so it hashes different bytes than you think. This tool hashes exactly the characters you enter — matching printf %s or echo -n, not plain echo.
Hashing in your code
# echo adds a newline — this hashes "abc\n"
echo "abc" | sha256sum
# hash exactly "abc" (matches this tool)
printf %s "abc" | sha256sum
# hash a file
sha256sum document.pdfconst data = new TextEncoder().encode("abc");
const digest = await crypto.subtle.digest("SHA-256", data);
const hex = [...new Uint8Array(digest)]
.map((b) => b.toString(16).padStart(2, "0"))
.join("");Frequently asked questions
Can I decrypt a hash back to the original text?
Which hash algorithm should I use?
Is MD5 still safe to use at all?
Why does my hash differ from the one my terminal produces?
What is an HMAC?
Why do I get the same hash for the same input every time?
Is it safe to hash sensitive data on this page?
More free tools
All tools →Free tools from a European software company.
- Runs in your browser
- Made & hosted in the EU
- No account needed