Hash
Generate MD5, SHA-1, SHA-256, SHA-384, or SHA-512 hashes from text or files. Supports HMAC with a key. Free, instant, all processing in your browser.
A free online hash generator that computes MD5, SHA-1, SHA-256, SHA-384, and SHA-512 digests from text or files, with optional HMAC when you supply a secret key. Use it to produce a checksum for verifying a download, to sign a webhook payload with HMAC-SHA256, or to compare two inputs by digest instead of by full content. Hashing runs entirely in your browser using the platform crypto APIs, so the text or file you hash — and any HMAC key you provide — never leaves your device. Files up to 50 MB are read locally, making it practical to checksum real artifacts without an upload step.
Common uses
- Generate a SHA-256 checksum to verify the integrity of a file downloaded elsewhere.
- Produce an HMAC-SHA256 signature for a webhook payload using a shared secret.
- Compare two strings or files by hash instead of reading them in full.
- Create a fingerprint of a value to use as a cache key or dedupe identifier.
- Confirm a published MD5 or SHA checksum matches the file you received.
Frequently asked questions
Which hash algorithms are supported?
MD5, SHA-1, SHA-256, SHA-384, and SHA-512. HMAC is supported for the SHA family when you provide a key; MD5 does not support HMAC here.
Can I hash a file?
Yes. You can hash a file up to 50 MB directly in the browser; the file contents are read locally and never uploaded.
What is the difference between a plain hash and HMAC?
A plain hash digests the input alone. HMAC combines the input with a secret key, producing a keyed digest used to authenticate a message — useful for verifying webhook signatures.
Is MD5 or SHA-1 safe to use?
MD5 and SHA-1 are fine for non-security checks like checksums and cache keys, but they are considered broken for security purposes. Use SHA-256 or stronger where collision resistance matters.
Is my data or key sent to a server?
No. All hashing runs locally in your browser, so the input and any HMAC key stay on your device.
All processing is local — your data never leaves your browser.