Hash Generator & Checker
A tool that computes MD5, SHA-1, SHA-2 (SHA-224/256/384/512), SHA-3, Keccak-256, BLAKE2b/BLAKE2s, BLAKE3, RIPEMD-160, CRC32, and xxHash64 hashes from text or a file, right in your browser. It supports drag-and-drop file input and can check whether a hash matches an expected value.
MD5, SHA-1, SHA-2
-
-
-
-
-
-
SHA-3, Keccak
-
-
-
-
-
BLAKE
-
-
-
Other & checksums
-
-
-
How to use
- Type text, or drag and drop a file (or click "Choose file").
- MD5, SHA-2, SHA-3, BLAKE, CRC32, and other hashes are computed in real time and listed by family.
- Each hash can be copied to the clipboard with its copy button.
- Paste an "expected" hash value published by a distributor into the input field, and the matching row shows "Match" while a mismatched row shows "Mismatch". A summary also tells you which algorithm matched.
About this tool
This tool computes 17 hashes, including MD5, SHA-1, SHA-2, SHA-3, BLAKE2, BLAKE3, RIPEMD-160, CRC32, and xxHash64, from text or a file, right in your browser. It's useful for detecting tampering in a downloaded file, checking it against a published checksum, or verifying how an API key is hashed or an Ethereum address is derived (Keccak-256). For password storage hashes such as Argon2id and bcrypt, use the Password Hash Generator & Verifier tool.
SHA-1, SHA-256, SHA-384, and SHA-512 are computed using the browser's standard Web Crypto API (SubtleCrypto). MD5 isn't implemented in the Web Crypto API for security reasons, so a verified pure JavaScript implementation is used instead. SHA-224, SHA-3, BLAKE, RIPEMD-160, CRC32, and xxHash64 aren't in the Web Crypto API either, so they're computed with a WebAssembly implementation (hash-wasm).
Even large files can be processed as long as your browser's memory allows it. File contents are never sent to a server.
For abc without a newline, SHA-256 is ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Paste that value into the expected-hash field to get a match on the SHA-256 row. Adding a trailing newline changes the bytes and produces a mismatch.
Text is hashed as UTF-8 bytes, while file mode uses the file's actual contents. Different text encodings or line endings can therefore produce different hashes for visually identical text. When a comparison fails, check the stored input format as well as the algorithm.
Frequently asked questions
I've heard MD5 and SHA-1 aren't secure anymore. Is it okay to use them?
MD5 and SHA-1 are known to be vulnerable to collision attacks and aren't recommended for security-critical uses like password storage or signatures. But for purposes like checking file integrity against a checksum in the format a distributor provides, they're fine to use with this tool.
Won't a case difference cause a match to fail?
No. Comparison against the expected value ignores case and surrounding whitespace, so differences like "ABCDEF" vs. "abcdef" are treated as a match.
Can I hash a file and text at the same time?
No. Dropping or selecting a file switches the input to the file's contents. To go back to text, click "Back to another input".
Why are SHA3-256 and Keccak-256 different?
Keccak-256 is the original Keccak before it was standardized as SHA-3; only the padding rule differs from SHA3-256. Ethereum and Solidity's keccak256 use it, so both are shown.
Is my input file or text sent to a server?
No. Hash computation all happens in your browser using the Web Crypto API, JavaScript, and WebAssembly.