Text & HMAC Hash Generator
A cryptographic hash turns any text into a fixed-length fingerprint that is practically impossible to reverse and changes completely with the smallest edit to the input. This tool hashes any text you type or paste using SHA-1, SHA-256, SHA-384, or SHA-512, and can also produce an HMAC — a keyed hash that proves a message came from someone who knows a shared secret.
Hashes are everywhere: verifying data has not changed, indexing content, generating fingerprints, and building signatures for webhooks and APIs. HMAC in particular is how many services sign requests so the receiver can confirm they were not altered in transit. Enter your text (and a key for HMAC), pick an algorithm, and the digest is computed instantly with the Web Crypto API. Everything runs locally in your browser — your input and secret key are never uploaded — so you can safely hash sensitive strings. Note that SHA-1 is included for legacy compatibility but should not be used where collision resistance matters.
Compute a cryptographic hash of any text, or an HMAC signature with a shared secret. Everything runs locally in your browser.
Frequently asked questions
- What is the difference between a hash and an HMAC?
- A plain hash fingerprints data. An HMAC mixes in a secret key, so only someone with that key can produce or verify the value — useful for signing API requests and webhooks.
- Which algorithm should I choose?
- SHA-256 is a strong default. SHA-384 and SHA-512 offer larger digests. SHA-1 is provided for legacy systems only and is not collision-resistant.
- Is my text or secret key uploaded?
- No. Hashing runs locally with the Web Crypto API, so your input and HMAC key never leave your browser.
- Can I reverse a hash back to the original text?
- No. Cryptographic hashes are one-way. Identical input always yields the same digest, but you cannot recover the input from the digest.
- Why does a tiny change produce a completely different hash?
- Good hash functions show the avalanche effect: flipping a single character changes roughly half the output bits, which is what makes tampering easy to detect.