Best HMAC Generator Online

Live HMAC-SHA256 · HMAC-SHA512 · HMAC-SHA384 · HMAC-SHA1 · Hex & Base64 output
Output
Secret Key
Error
MESSAGE
HMAC-SHA256256 bit
// waiting for input
HMAC-SHA512512 bit
// waiting for input
HMAC-SHA384384 bit
// waiting for input
HMAC-SHA1160 bit · legacy
// waiting for input

More Developer Tools

Hash Generator
MD5/SHA-256/SHA-512
AES Encrypt
AES-256
RSA Encrypt
RSA-OAEP
JWT Decoder
Inspect tokens
Base64
Encode / Decode
URL Encode
Percent-encoding
Password Generator
Secure random
JSON Formatter
Format, validate & minify

Why This Is the Best HMAC Generator Online

Four Algorithms at Once

Computes HMAC-SHA256, HMAC-SHA512, HMAC-SHA384, and HMAC-SHA1 simultaneously from a single message and key input, so you can compare outputs or pick the right one for your use case.

Live Computation

HMACs update instantly as you type — no button press required. Useful for debugging API signatures and webhook verification where you need to test different key or message combinations quickly.

Hex & Base64 Output

Switch between lowercase hex and Base64 output with one click. Most APIs (AWS, Stripe, GitHub) use hex; some use Base64. Both formats represent the same underlying HMAC value.

Privacy First

All HMAC computation uses the browser Web Crypto API — your message and secret key never leave your device. Safe for computing API signatures with real production keys.

Frequently Asked Questions

What is HMAC?

HMAC (Hash-based Message Authentication Code) is a mechanism for verifying both the integrity and authenticity of a message. It combines a cryptographic hash function (like SHA-256) with a secret key, producing a fixed-size signature. Only someone with the same secret key can reproduce the same HMAC.

What is HMAC-SHA256 used for?

HMAC-SHA256 is used to sign API requests (e.g. AWS Signature v4, Stripe webhooks, GitHub webhooks), verify JWT signatures (HS256), authenticate WebSocket connections, and secure cookies. It is the most widely deployed HMAC variant.

Is HMAC the same as a hash?

No. A plain hash (like SHA-256) can be computed by anyone and does not prove authenticity. HMAC requires a secret key, so only parties that share the key can compute or verify the code. This makes HMAC suitable for authentication, while plain hashes are used for integrity and checksums.

How do I use HMAC to sign an API request?

Concatenate the components you want to sign (method, path, timestamp, body hash, etc.) into a canonical string, then compute HMAC-SHA256 of that string using your API secret key. Include the resulting hex or Base64 value in the Authorization header. Most API documentation specifies the exact canonical string format.

In-depth guide
Developer Security Tools Guide
Hash, HMAC, AES, RSA & JWT
Read the guide