Hash Generator
Compute MD5, SHA-1, SHA-256, SHA-384 and SHA-512 hashes from text or files. Runs entirely in your browser.
What is a cryptographic hash?
A cryptographic hash is a fixed-length fingerprint computed from arbitrary input. The same input always produces the same hash, but even a one-bit change rewrites the output completely. Hashes are one-way — you cannot recover the original data from the digest. They power file integrity checks, version IDs (Git uses SHA-1/SHA-256), digital signatures and content addressing. SHA-256 onwards are the modern, widely-trusted choice; MD5 and SHA-1 still appear in legacy systems but should not be used for security.
How to use this tool
Pick Text and type or paste any string — every supported algorithm updates instantly. Switch to File to drop in a binary (image, archive, installer, anything) and verify its checksum against a published value. Tap any Copy button to grab the hex digest. Everything runs locally with the browser's Web Crypto API; the file never leaves your device, even for very large inputs.
Hashes are not for password storage
A bare MD5, SHA-1, or SHA-256 of a password is dangerously fast to brute-force. If you're hashing passwords server-side, use a slow, salted password-hashing function — Argon2id, scrypt, or bcrypt — never a raw cryptographic hash. This tool is for integrity checks, content fingerprints and learning, not for protecting credentials.
Algorithm reference
Output length and recommended use for each supported algorithm.
| Algorithm | Output (bits / hex chars) | Recommended use |
|---|---|---|
| MD5 | 128 / 32 | Legacy checksums only — broken for security. |
| SHA-1 | 160 / 40 | Git compat, legacy systems — avoid for new work. |
| SHA-256 | 256 / 64 | Modern default for integrity & signatures. |
| SHA-384 | 384 / 96 | SHA-512 internals, shorter output. |
| SHA-512 | 512 / 128 | Strongest of the family; faster on 64-bit CPUs. |
Frequently asked questions
Are my files or text uploaded anywhere?
crypto.subtle.digest for SHA-* and an inline implementation for MD5. You can verify by opening DevTools > Network and dragging in a file — no requests are made. The page works offline once it has loaded.Why is MD5 still listed if it's broken?
Can I verify a download with this tool?
Is there a limit on file size?
ArrayBuffer and hashed in a single pass; multi-gigabyte files work, but the browser will hold the whole buffer in memory. For very large files, a desktop tool like sha256sum may be quicker.Why does the same text give a different hash on another site?
\n via echo; pipe with printf %%s or strip the newline to match.
EN
PT
ES