How to generate a hash
- Type text into the box, or switch to File and choose any file.
- All five hashes appear at once. Tick Uppercase if you need capital letters.
- Copy the one you need, or paste an expected hash to check for a match.
What a hash is
A cryptographic hash function turns any input, a word or a 4 GB disk image, into a short fixed-length fingerprint. Change a single character or a single bit and the fingerprint changes completely. The same input always gives the same result on any computer, in any program. That makes hashes useful for checking that two things are identical without comparing them byte by byte, for spotting accidental corruption, and as building blocks in software: Git identifies commits by hash, package managers verify downloads with them, and APIs sign requests with them.
The five algorithms side by side
| Algorithm | Output | Hex length | Use today |
|---|---|---|---|
| MD5 | 128 bits | 32 | Checksums and cache keys only |
| SHA-1 | 160 bits | 40 | Legacy systems; being phased out |
| SHA-256 | 256 bits | 64 | The common default for verification and signatures |
| SHA-384 | 384 bits | 96 | Some TLS and government profiles |
| SHA-512 | 512 bits | 128 | Where a longer digest is wanted; often fast on 64-bit CPUs |
MD5 and SHA-1 are labeled on the page as suitable for checksums only. Researchers have produced practical collisions for both, two different inputs with the same hash, so neither should be relied on where someone might deliberately forge data. For catching a truncated download or a flipped bit they still work fine. SHA-256 and the longer SHA-2 variants have no known practical attacks.
Text, files and the compare box
Text is hashed as UTF-8, the encoding used by almost every modern system, and the results update as you type. Mind invisible details: a trailing space or line break changes the hash, and so does Windows-style CRLF versus Unix LF line endings. The text box uses LF, so if you need to reproduce a hash of a file that has CRLF endings, hash the file itself.
Files of any type can be hashed: installers, ISO images, archives, videos, documents. The file is read locally; MD5 is calculated in chunks with a progress bar, and the SHA hashes use your browser's built-in Web Crypto engine. Files above about 1 GB can hit browser memory limits for the SHA part on some devices; MD5 still completes.
Compare with a hash accepts a checksum copied from a website or a colleague. Spaces and letter case are ignored, and the tool checks it against all five results, so you don't even need to know which algorithm it is. You'll see which one matched, or, if none did, which algorithm the pasted value looks like by its length.
Not for storing passwords
Fast hashes are the wrong tool for protecting stored passwords, because attackers can try billions of guesses per second against them. Password storage needs a deliberately slow, salted algorithm such as Argon2, scrypt or bcrypt. The calculators here are for integrity checks, test vectors and development work. For a focused page on one algorithm, see the MD5 Hash Generator or the SHA-256 Hash Generator.
More ways to use this tool
Frequently asked questions
Is my file uploaded to calculate the hash?
No. Files and text are hashed inside your browser. Nothing is sent to a server, and it also works offline once the page has loaded.
Which hash should I use?
SHA-256 for anything new. Use MD5 or SHA-1 only when you need to match a checksum someone else published in that format.
Why doesn't my hash match the one from another tool?
Usually because the input differs slightly: an extra space, a trailing line break, different line endings or a different text encoding. For files, make sure the download finished completely.
Can a hash be reversed to get the text back?
No. A hash can't be decoded. Short or common inputs can sometimes be found by guessing, which is why fast hashes shouldn't be used for passwords.
Is uppercase or lowercase correct?
Both. Hex hashes are case-insensitive; the letters a–f mean the same in either case. Use the Uppercase option if a system requires capitals.