Advertisement
Advertisement

Free online HMAC generator — compute HMAC-SHA256, HMAC-SHA1, HMAC-SHA384, or HMAC-SHA512 signatures for a message and secret key in your browser.


          
        
Advertisement

About HMAC

Paste the message on the left and enter the secret key below — the HMAC appears on the right as a lowercase hexadecimal string, updating live as you type. Both message and key are handled as UTF-8, computation uses the browser's Web Crypto API, and nothing you enter is uploaded anywhere.

Is my key uploaded anywhere?

No. The HMAC is computed entirely in your browser with the Web Crypto API — the message and the secret key never leave your device, and the page works offline.

What is an HMAC?

An HMAC (Hash-based Message Authentication Code) combines a cryptographic hash function with a secret key. Unlike a plain hash, only someone who knows the key can produce or verify the code, so it proves both integrity (the message wasn't changed) and authenticity (it came from a key holder).

Where are HMACs used?

Everywhere APIs need tamper-proof requests: webhook signatures (Stripe, GitHub, Slack), API request signing (AWS SigV4), session tokens, and JWTs with HS256/384/512 — which are exactly HMAC-SHA256/384/512 over the token.

HMAC vs plain hash — which do I need?

If you just need a checksum or fingerprint of data, a plain hash is enough — use the hash generator. If the code must be verifiable only by parties who share a secret (signatures, authentication), you need an HMAC.

Which algorithm should I use?

HMAC-SHA256 is the standard choice and what most APIs expect. SHA-384/512 offer longer outputs; HMAC-SHA1 survives in older APIs and, unlike plain SHA-1, is still considered secure as an HMAC — but prefer SHA-256 for new systems.

Collapse the page

Both options play the collapse and reload this site fresh from the network. They differ in what they take with them.

Refresh files
Drops the offline cache and service worker. Your saved inputs and settings are kept — use this if the site is serving something stale.
Erase everything
All of the above, plus every tool's saved input — including your JWT and HMAC keys — and your settings. Deleted from your device, not sent anywhere. This cannot be undone.