Hash Generator
Compute the MD5, SHA-1, SHA-256, SHA-384 or SHA-512 hash of text or a file and compare it with an expected checksum. The file is hashed in your browser. How it works
Use the Hash Generator
Files up to 200 MB with MD5 (hashed in chunks, with progress) and up to 100 MB with SHA (the browser reads the whole file into memory, so no percentage is shown).
MD5 and SHA-1 are broken for collision resistance. They are fine for checksums against accidental corruption, but not for signatures, certificates or passwords.
A hash is not encryption. Passwords should be stored with a slow, salted function such as Argon2, scrypt, bcrypt or PBKDF2, not with a plain hash.
Text is hashed as UTF-8 exactly as typed, including spaces and a trailing newline.
Known test vectors
| Algorithm | Input | Digest |
|---|---|---|
| MD5 | (empty string) | d41d8cd98f00b204e9800998ecf8427e |
| MD5 | "abc" | 900150983cd24fb0d6963f7d28e17f72 |
| SHA-1 | (empty string) | da39a3ee5e6b4b0d3255bfef95601890afd80709 |
| SHA-1 | "abc" | a9993e364706816aba3e25717850c26c9cd0d89d |
| SHA-256 | (empty string) | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
| SHA-256 | "abc" | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
| SHA-384 | (empty string) | 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b |
| SHA-384 | "abc" | cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7 |
| SHA-512 | (empty string) | cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e |
| SHA-512 | "abc" | ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f |
About the Hash Generator
The MD5 hash of “hello” is 5d41402abc4b2a76b9719d911017c592 and its SHA-256 hash is 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824. This hash generator computes the MD5, SHA-1, SHA-256, SHA-384 or SHA-512 hash of text or of a file, and compares it with a checksum you paste in.
Hash algorithms: output length and what to use them for
| Algorithm | Output in bits | Hex characters | Use it for |
|---|---|---|---|
| MD5 | 128 | 32 | Checksums only |
| SHA-1 | 160 | 40 | Checksums only |
| SHA-256 | 256 | 64 | Checksums, signatures, general use |
| SHA-384 | 384 | 96 | Checksums, signatures, general use |
| SHA-512 | 512 | 128 | Checksums, signatures, general use |
“Checksums only” means detecting accidental corruption. MD5 and SHA-1 are broken for collision resistance, so do not use them for signatures or certificates. SHA-256, SHA-384 and SHA-512 all belong to the SHA-2 family; SHA-256 is the one most download pages publish.
MD5, SHA-1 and SHA-256 of common test strings
| Input | Algorithm | Hash |
|---|---|---|
| (empty) | MD5 | d41d8cd98f00b204e9800998ecf8427e |
| (empty) | SHA-1 | da39a3ee5e6b4b0d3255bfef95601890afd80709 |
| (empty) | SHA-256 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
| abc | MD5 | 900150983cd24fb0d6963f7d28e17f72 |
| abc | SHA-1 | a9993e364706816aba3e25717850c26c9cd0d89d |
| abc | SHA-256 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
| hello | MD5 | 5d41402abc4b2a76b9719d911017c592 |
| hello | SHA-1 | aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d |
| hello | SHA-256 | 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 |
| The quick brown fox jumps over the lazy dog | MD5 | 9e107d9d372bb6826bd81d3542a419d6 |
| The quick brown fox jumps over the lazy dog | SHA-1 | 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 |
| The quick brown fox jumps over the lazy dog | SHA-256 | d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592 |
Input is hashed as UTF-8 exactly as typed, with no line break added. One extra character changes everything: “Hello” with a capital H has the MD5 8b1a9953c4611296a827abf8c47804d7.
How to use this tool
- Choose the algorithm: MD5, SHA-1, SHA-256, SHA-384 or SHA-512.
- Type or paste text, or press Upload File and choose a file.
- Press Generate Hash. Tick Uppercase hex if the value you are comparing with is in capitals.
- To check a download, paste the published checksum into “Compare with (expected hash)”. The tool reports a match or a mismatch.
- Not sure which algorithm was used? Press Compare all algorithms: all five hashes are listed with a copy button each, and the one that equals the expected hash is marked.
Frequently asked questions
- Is MD5 secure?
- Not where it matters that two inputs never share a hash. RFC 6151 states that MD5 is no longer acceptable where collision resistance is required, such as digital signatures. It still detects accidental corruption, which is why it survives as a download checksum. Use SHA-256 when someone could alter the file on purpose.
- Is SHA-1 still safe to use?
- No. NIST announced in December 2022 that SHA-1 should be phased out by December 31, 2030, in favor of SHA-2 and SHA-3, because collision attacks against it have become practical. This tool keeps SHA-1 so that you can check old checksums.
- Can a hash be decrypted?
- No. A hash is not encryption: there is no key, and the function cannot be run backward. A short or common input can still be found by guessing, because the same input always gives the same hash. The MD5 of “password” is 5f4dcc3b5aa765d61d8327deb882cf99 on every computer.
- Should I hash passwords with SHA-256?
- Not with a plain hash. Fast algorithms such as SHA-256 let an attacker test guesses quickly. OWASP recommends a slow, salted password hashing function instead: Argon2id first, then scrypt, bcrypt or PBKDF2.
- How do I verify a file checksum?
- Choose the algorithm the publisher used, upload the file, press Generate Hash and paste the published value into the compare field. Upper and lower case do not matter. If the lengths differ, the tool says so, which usually means the wrong algorithm is selected; Compare all algorithms then marks the one that matches.
- Is my file uploaded?
- No. The file is read and hashed in your browser by a background worker, and the tool makes no network request. MD5 takes files up to 200 MB and the SHA algorithms up to 100 MB, so Compare all algorithms skips the SHA rows for a larger file.
Related Tools
View all toolsPassword Generator
Generate a random password of 8 to 128 characters from uppercase, lowercase, numbers and symbols, and see its entropy in bits. Can skip look-alike characters.
HMAC Generator
Compute an HMAC with SHA-1, SHA-256, SHA-384 or SHA-512 and check it against a signature, with webhook presets for GitHub, Stripe, Shopify and Slack.
AES Encryption
Encrypt and decrypt text with a password using AES-256-GCM, the key derived by PBKDF2-SHA256 at 600,000 iterations. Strength depends on the password.
PBKDF2 Calculator
Derive a PBKDF2 key in hex or Base64 from a password and salt with HMAC-SHA-1, SHA-256, SHA-384 or SHA-512, and check it against a key you paste.
Base58 Address Encoder
Encode hex or text to Base58 or Base58Check and decode it back. Base58Check shows the version byte, the payload and whether the 4-byte checksum matches.
Base64 File to String
Encode a file of up to 5 MB to Base64 or a data URI, or decode Base64 back to a downloadable file named from its data URI type or first bytes.