Free Hash Generator
Hash Generator computes hashes and checksums with 28 algorithms, including MD5, SHA-1, SHA-256, SHA-512, SHA-3, BLAKE3 and CRC32, for text or files of any size. Files are read in 4 MB chunks with progress and cancel, HMAC or keyed modes take a secret key, and a verify field shows which result matches an expected checksum.
- Algorithms:
- 28, from MD5 to BLAKE3 and XXH128
- Output:
- Hex or Base64
- Keyed:
- HMAC or BLAKE keyed mode
- Price:
- Free
- Runs:
- Locally, in your browser
- Uploads:
- None: files never leave your device
- Account:
- Not needed
Quick answers
Are my files uploaded to compute the hash?
No. Files are read locally in small chunks and hashed in your browser with WebAssembly, so even multi-gigabyte files never leave your device.
Processed on your device: your files are never uploaded. How it works
Network activity in this tab
What this page has requested since you opened the site in this tab. An upload is any request that sends data: POST, PUT, PATCH or a request with a body.
No uploads: nothing has been sent from this page.
No network requests yet.
To see every request, open your browser's developer tools (Network tab).
How to use the Hash Generator
- Select the algorithms you need (common ones are preselected).
- Type text, or switch to File and drop a file of any size.
- Optionally turn on HMAC and enter a secret key.
- Copy a hash, or paste an expected checksum in “Verify” to see which row matches.
Credits & open source
Built on open-source libraries. Thank you to the people who make these projects.
- hash-wasmFast WebAssembly hash functions (MD5, SHA, BLAKE3, CRC32...). © Dani Biró · MIT
Web platform APIs used: File API, TextEncoder, Clipboard API.
Full license texts: third-party notices · all credits
Frequently asked questions
Which algorithm should I use?
SHA-256 is the safe default for checksums and integrity. BLAKE3 is much faster with similar security. MD5 and SHA-1 are broken for security purposes and should only be used to compare with old checksums.
Why doesn't my hash match the one from the command line?
Hashes change with any byte of difference: a trailing newline, different line endings or a different text encoding all produce a different result.