Open tooladda.online/hash-generator.html, paste text or drop a file β get all four digests at once β paste the vendor's published checksum into the compare box β green means the file is genuine.
No account. No upload. No 5 MB limit. Close the tab and the evidence is gone.
Important
Your bytes never touch a server. The hashing runs inside your own browser tab, which is exactly why it's safe to fingerprint a confidential contract, an internal build artifact, or a client database export.
Change one bit β lowercase h to uppercase H β and the entire digest is unrecognisable. These are real values, generated with the same algorithms the tool uses:
| Input | SHA-256 digest |
|---|---|
hello |
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 |
Hello |
185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969 |
125 of the 256 output bits flipped β 48.8%. That's the avalanche property working as designed: a good hash function scrambles roughly half the output for any input change, no matter how small. It's what makes a digest useful as a tamper detector.
π The same two inputs across all four algorithms (click to expand)
hello
MD5 5d41402abc4b2a76b9719d911017c592
SHA-1 aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
SHA-256 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
SHA-512 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72
323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043
Hello
MD5 8b1a9953c4611296a827abf8c47804d7
SHA-1 f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
SHA-256 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
SHA-512 3615f80c9d293ed7402687f94b22d58e529b8cc7916f8fac7fddf7fbd5af4cf77
7d3d795a7a00a16bf7e7f3fb9561ee9baae480da9fe7a18769e71886b03f315
Paste hello into the tool and you should get the top block byte for byte. If you don't, something in your setup is wrong β which is exactly the point of the tool's built-in Verify the engine self-test.
flowchart LR
A["π Text<br/>or π File"] --> B{"Your browser tab"}
B --> C["Read into memory<br/>(FileReader)"]
C --> D["Digest engine<br/>MD5 Β· SHA-1 Β· SHA-256 Β· SHA-512"]
D --> E["4 hex digests<br/>shown side by side"]
E --> F["π Compare against<br/>expected checksum"]
F --> G{"Match?"}
G -->|"β
Yes"| H["File is intact"]
G -->|"β No"| I["Corrupted or tampered<br/>β do not run it"]
B -.->|"π« no request ever leaves"| X(("Server"))
style A fill:#0ea5e9,stroke:#0369a1,color:#fff
style B fill:#0b6e6b,stroke:#064e4b,color:#fff
style D fill:#8b5cf6,stroke:#6d28d9,color:#fff
style H fill:#22c55e,stroke:#15803d,color:#fff
style I fill:#ef4444,stroke:#b91c1c,color:#fff
style X fill:#3f3f46,stroke:#71717a,color:#fff,stroke-dasharray: 5 5
The dashed line is the whole product. There is no upload step to draw.
|
MD5, SHA-1, SHA-256 and SHA-512 are all computed from the same input simultaneously. No dropdown, no re-running β you get the full set and pick the one the vendor published. |
Drop an installer, ZIP, ISO or PDF straight onto the drop zone. The file is read locally, so the practical size limit is your RAM β not somebody's upload quota. |
|
Paste the expected digest next to the computed one. The tool does the character-by-character check, because your eyes will absolutely miss a swapped |
Recent digests are kept in |
|
A built-in self-test hashes known test vectors and confirms the output matches published values. A hash tool you can't audit is a hash tool you shouldn't trust. |
Once the page has loaded it keeps working with the network unplugged β useful on an air-gapped machine where checksum verification actually matters most. |
| Algorithm | Length | Status | Reach for it when⦠|
|---|---|---|---|
| SHA-256 | 64 hex chars Β· 256-bit | π’ Recommended default | Verifying downloads, signing payloads, content addressing. If you're unsure, this is the answer. |
| SHA-512 | 128 hex chars Β· 512-bit | π’ Strong | You want extra margin β and on most 64-bit CPUs it's faster than SHA-256, not slower. |
| SHA-1 | 40 hex chars Β· 160-bit | π Deprecated | Only for legacy compatibility (older Git objects, old CI manifests). Collisions were demonstrated in 2017. |
| MD5 | 32 hex chars Β· 128-bit | π΄ Broken | Only for non-adversarial checksums and dedupe. Collisions have been cheap since 2004. |
Warning
Never store passwords as plain MD5, SHA-1, SHA-256 or SHA-512. These are built to be fast, and fast is the enemy of password storage β a consumer GPU chews through billions of guesses per second. Use a deliberately slow, salted KDF: Argon2id, scrypt or bcrypt. This tool is for integrity, not for credentials.
| Situation | What you do |
|---|---|
| π§ Downloaded a Linux ISO | Hash the ISO, compare to the SHA-256 on the mirror page. A mismatch means a bad mirror or a bad actor. |
| π¦ Shipped a build | Hash the artifact locally and on the server. Same digest = the same bytes arrived. |
| π Two exports "look identical" | Hash both. Identical digests prove byte-equality far faster than a diff on a 400 MB file. |
| π API request signing | Generate the body checksum a signed request needs, without writing a throwaway script. |
| π΅οΈ Watching a config file | Save today's hash, re-hash next month, catch a silent edit nobody logged. |
| π Teaching hashing | Type one character, watch half the output change. Nothing explains the avalanche effect faster. |
1. Open β tooladda.online/hash-generator.html
2. Switch the input to File
3. Drag your downloaded file onto the drop zone
4. Copy the SHA-256 value it produces
5. Paste the vendor's published checksum into Compare
βΆ Verify a download now β tooladda.online/hash-generator.html
π’ Match β the file is bit-for-bit what the publisher released. Install away. π΄ Mismatch β stop. Delete it, re-download from the official source, hash again. A failed checksum on an executable is not a "probably fine".
Tip
Checksums only prove the file matches the checksum you compared against. If an attacker controls the download page, they control both. Prefer a checksum from a different channel than the file itself β a signed release, the project's GPG-signed SHASUMS file, or the maintainer's repo.
A lot of confusion, cleared up in one table:
| Hashing | Encryption | |
|---|---|---|
| Direction | One-way β no undo | Two-way β decrypt with the key |
| Output size | Always fixed | Grows with the input |
| Needs a key? | No | Yes |
| Purpose | Prove nothing changed | Keep content secret |
| Can you recover the input? | β Never | β With the key |
Those "MD5 decrypter" sites aren't reversing anything. They're looking your digest up in a giant precomputed table of common strings. Hash password123 and you'll be in it. Hash a 40-character random passphrase and no table on earth has it.
Is this hash generator really free?
Yes. No account, no trial, no per-day cap, no watermark, no "upgrade to hash files over 5 MB".
Do my files get uploaded anywhere?
No. The file is read into your browser's memory and hashed there. Open your browser's Network tab while you hash something β you'll see no request carrying your data. That's the design, and it's verifiable.
How large a file can I hash?
There's no server-imposed cap, so the ceiling is your own device's available memory. Multi-hundred-megabyte files are routine on a normal laptop.
Which hash should I pick if I don't care about the details?
SHA-256. It's the modern default, it's what most projects publish, and it's the one you'll match against most often.
Two files have the same MD5. Are they identical?
Almost certainly yes by accident, but not provably. MD5 collisions can be manufactured deliberately and cheaply, so a matching MD5 is not evidence against an attacker. For that, use SHA-256.
Can I get the original text back from a hash?
No. Hashing is one-way by construction. The only "recovery" possible is guessing inputs until one produces the same digest β which is why short, common, unsalted inputs are weak and long random ones are not.
Does it work without internet?
Yes β load the page once, then it keeps hashing offline.
Why do the same bytes give a different hash than my terminal?
Usually a trailing newline.
echo hello hashes hello\n, not hello. Use printf, or paste without the newline. This trips up almost everyone once.
- Zero dependencies, zero framework β one HTML page, vanilla JavaScript, no build step.
- No backend β there is no server-side code to trust, because there is no server-side code.
- Self-tested β digest logic is covered by unit tests run against published test vectors.
- PWA-friendly β web manifest, theme colour, installable to your home screen, offline-capable.
- Privacy by architecture β not a policy promise you have to take on faith, but a consequence of where the code runs.
Part of ToolAdda β 130+ free, private, browser-based tools.
No signup Β· No uploads Β· No nonsense.