Hash Generator (MD5 / SHA-1 / SHA-256 / SHA-512)

Compute MD5, SHA-1, SHA-256 and SHA-512 for text or files — live, in your browser

✨ New🔒 Browser Only
Hashing happens entirely in your browser
Text and files are processed with the Web Crypto API. Nothing is uploaded — we couldn't see your data even if we wanted to.
0 chars · 0 bytes (UTF-8)
CtrlKclearTabswitch fields
## Four hashes at once — never uploaded, never logged Drop a file on the page or start typing, and the Hash Generator computes **MD5**, **SHA-1**, **SHA-256** and **SHA-512** in parallel. Like everything in the Utility section, it's 100% client-side: the Web Crypto API hashes your data inside your browser and nothing is ever sent to our servers. ### Why you'll use it - **Verify a download.** Paste the expected hash from a project's release page into the "Compare to" field and get instant ✓ / ✗ feedback. Case and whitespace don't matter. - **Chunked file hashing.** Files are read in 4 MB slices with a live progress bar + throughput (MB/s). Cancel at any time. - **Known test vectors, always.** Our implementation is unit-tested against the RFC / NIST vectors for every supported algorithm — you get the same result as `sha256sum`, `openssl dgst` or `certutil -hashfile`. - **MD5 still works.** SHA-* run on the browser's native crypto, MD5 streams through `spark-md5` (lazy-loaded so it isn't in the initial bundle). Broken for security, still useful for integrity checks. - **Copy once, use anywhere.** One click gives you JSON, plain text or a single algorithm — whatever your pipeline expects. - **Privacy-sensitive defaults.** History is off until you turn it on. Perfect for verifying downloaded ISOs, comparing duplicate files, quickly building checksums for a README, or poking around a CTF.

Frequently Asked Questions

Everything you need to know about this tool

No. Reading, hashing and progress reporting all happen inside your browser tab. We never stream bytes to any remote endpoint — you can check DevTools → Network to confirm.

MD5 is still widely used for non-security integrity checks: Linux ISO mirrors, legacy package managers, git LFS, etc. We flag it purely as a hashing tool — use SHA-256 or SHA-512 when you need cryptographic strength.

About 500 MB on a typical desktop browser. The SHA-family APIs in the browser do not expose a streaming interface, so we buffer the whole file to compute SHA-1 / -256 / -512 at the end. MD5 streams natively through spark-md5 and has no such limit.

Usually one of three things: (1) you pasted the wrong algorithm — compare SHA-256 vs SHA-256; (2) the expected hash has extra whitespace or a different case (we strip both for you, but double-check); (3) the download is actually corrupt — try again from the source.

Internally we compute lowercase hex. Use the UPPERCASE toggle above the table if your target system expects upper-case hashes; comparisons still work either way.

Yes, the text mode works everywhere. File mode also works on Safari iOS / Chrome Android; drag-and-drop is replaced by a tap-to-pick picker. Very large files may hit iOS memory limits — prefer desktop for ISOs.