Overview
What this tool does
A hash function turns any input (text or a file) into a fixed-length fingerprint. The same input always produces the same output; a one-character change produces a wildly different output. This tool computes the four most common hash digests in one pass: MD5 (legacy checksum, still used by lots of download mirrors), SHA-1 (legacy, Git), SHA-256 (current cryptographic default, used by most signatures and blockchain systems), and SHA-512 (longer SHA-2 variant). SHA family is computed via the browser's built-in SubtleCrypto so it's fast and certified. MD5 is computed in pure JavaScript because the Web Crypto API intentionally omits it (it's not cryptographically safe). Everything runs in your browser; no upload, no signup, no daily limit. Useful for verifying a downloaded file's integrity against a published checksum, generating an etag, or producing a deterministic ID from arbitrary input.
How to
Use it in 3 steps
- Pick a source: Text (paste / type) or File (any file from your device).
- For text: type or paste, then click 'Compute hashes' (or just leave the field).
- For file: click 'Pick file' and choose the file. Hashing runs automatically.
- All four digests appear in a list. Click 'Copy' next to any row to put it on your clipboard.
FAQ
Frequently asked questions
▶Is my data uploaded?
No. All hashing happens in your browser. The text or file contents never reach a server.
▶Why is MD5 still here if it's broken?
Because lots of legacy systems still publish MD5 checksums (download mirrors, old archives). MD5 is fine for integrity verification against accidental corruption; it is NOT safe against an attacker who can craft collisions. Use SHA-256 or SHA-512 when integrity matters against intentional tampering.
▶Will this work on a 1 GB file?
Yes, but it'll take a while. The file is loaded into memory, then hashed in a single pass via SubtleCrypto. Very large files may exhaust browser memory on mobile devices.
▶Why are the outputs hex, not base64?
Hex is the universal convention for displaying hash digests (matches what tools like sha256sum, md5sum, and download checksum pages publish). If you need base64, convert separately.
▶Are MD5 and SHA-1 computed the same way as on Linux/macOS?
Yes. The output matches what `md5sum`, `shasum -a 1`, `shasum -a 256`, and `shasum -a 512` produce on the command line.
▶How is text encoded before hashing?
UTF-8 via TextEncoder. The hash of the same string is identical to what `echo -n 'string' | sha256sum` produces (without the trailing newline that `echo` without `-n` adds).