Is my file uploaded?
No. The file is read into this tab's memory and hashed there. Turn on offline mode after the page loads and it still works.
Files never leave your browser.
Hash text or a file with five algorithms at once, compute HMACs, and paste a published checksum to confirm a download, all with the browser's built-in Web Crypto.
Loading the toolbox.
You do not have to take our word that your data stays here. Developer tools show every request a page makes, so you can watch this page work and confirm that nothing is sent. The check takes under a minute.
F12, or Cmd+Option+I on a Mac, and select the Network tab.Only two things can add a line to that log, and neither carries your data. Submitting the feedback form sends the vote and comment you typed. Typing characters in a script the page has not displayed yet, such as Cyrillic or Greek, can make the browser fetch the matching font file, and that request names only the font.
The production site also sends a Content-Security-Policy header that tells your browser to refuse connections to anywhere except this site and the anonymous analytics endpoint, so a coding mistake could not quietly send your data elsewhere.
A cryptographic hash function turns any input into a fixed-length fingerprint. The same input always gives the same digest, a one-bit change gives a completely different one, and it is infeasible to work backwards or to find two inputs with the same digest. That makes hashes the standard way to check that a download arrived intact and was not tampered with.
2hash computes SHA-1, SHA-256, SHA-384, and SHA-512 with crypto.subtle.digest, the browser's native implementation. Web Crypto has no MD5, so 2hash includes a small byte-by-byte MD5, tested against Node's output at every padding boundary.
Hashes are not for passwords. Store passwords with a slow, salted function such as Argon2id, scrypt, or bcrypt, which a fast hash is designed not to be.
Up to 1 GB, and the page says so before you pick one. The browser's digest API is not streaming, so the whole file must be in memory at once. The original 2hash claimed to read in chunks but then read the file twice and turned it into a text string for MD5, which failed well below that size. This version reads the file once and runs MD5 over the bytes in place, with a progress bar. For larger files, sha256sum or shasum -a 256 in a terminal is the right tool.
An HMAC mixes a secret key into the hash, so only someone with the key can produce or check the value. Webhook providers sign each payload with HMAC-SHA-256 and send the result in a header; your server recomputes it with the shared secret and rejects mismatches. 2hash computes HMAC-SHA-256, 384, and 512 so you can compare against what your code produces.
Elsewhere in the toolbox: 2uuid, 2gitignore, 2csp, 2htaccess, and more on the 2toolbox home page. Part of the 2suite.io privacy-first ecosystem.
No. The file is read into this tab's memory and hashed there. Turn on offline mode after the page loads and it still works.
Many older downloads publish only an MD5 or SHA-1 checksum. Matching it is still useful for catching corruption, though not tampering.
Usually line endings or a trailing newline. 2hash hashes exactly the UTF-8 text you typed.
No. Short or common inputs can be guessed by trying candidates, which is why passwords need slow, salted hashing.