keyed hashing · local only
HMAC Generator
Generate HMAC-SHA-256 (and SHA-1/384/512) authentication codes from a secret key and message — computed entirely in your browser.
All files are processed locally in your browser — your data never leaves your device.
About HMAC
HMAC (Hash-based Message Authentication Code, RFC 2104) combines a cryptographic hash function with a secret key. A plain hash proves only that data hasn't changed; an HMAC additionally proves the data came from someone who knows the key. That property makes HMAC-SHA-256 the backbone of API request signing (AWS Signature v4 and countless payment and webhook APIs), JWT tokens with the HS256 algorithm, and webhook verification schemes from GitHub, Stripe and Slack.
This HMAC generator is a developer's scratchpad for exactly those cases: paste the secret and the message body, pick the hash function, and compare the output against what your code or the remote service produced. It uses the Web Crypto API's native HMAC implementation, so results match OpenSSL (openssl dgst -sha256 -hmac "key"), Python's hmac module, and every other standards-compliant library. Output is lowercase hexadecimal.
Your secret key stays local
Pasting a secret key into a website is normally a terrible idea — which is why this one never transmits it. The key and message are processed in-browser only; no request is made, nothing is logged, and you can verify that by loading the page and switching off your network. For unkeyed digests, use the SHA-256 generator or browse the other tools below.
Also try our: SHA256 Hash Generator · SHA512 Hash Generator · Hash Compare Tool