HMAC signatures for API debugging
HMAC Generator combines a secret key with a message and hash algorithm to produce a keyed signature. This is useful when testing webhooks, API auth, and signed payloads.
Generate deterministic HMAC-style hashes from key and message.
Use HMAC Generator to calculate keyed hashes for API signing, webhook verification, and test payload debugging.
Dev Workbench
Generate deterministic HMAC-style hashes from key and message.
Run the tool to see output.
HMAC Generator combines a secret key with a message and hash algorithm to produce a keyed signature. This is useful when testing webhooks, API auth, and signed payloads.
Most HMAC mismatches come from small differences in raw payload bytes, line endings, character encoding, JSON spacing, timestamp strings, or whether the key is plain text, hex, or Base64.
HMAC depends on the secrecy of the key. Use test keys in browser tools whenever possible and avoid pasting production signing secrets into shared environments.
Key: test-secret\nMessage: {"event":"paid"}\nAlgorithm: HMAC-SHA256Deterministic HMAC-SHA256 signature for the exact key and message bytes.
Open HMAC Generator and review the default example input.
Paste your own input or upload source data when required.
Run HMAC Generator to generate output instantly in the browser.
Verify the output using the preview and formatting helpers on the page.
Copy the final result and continue with a related tool if needed.
Use related links to continue your workflow and keep your output consistent across ToolHarbor pages.
HMAC is used to verify message authenticity and integrity when both sides share a secret key, such as webhook and API signing workflows.
A regular hash uses only the message. HMAC uses both the message and a secret key, making it suitable for authenticity checks.
Check payload bytes, JSON formatting, line endings, timestamp text, key encoding, algorithm choice, and output encoding.
Prefer test secrets. If you must inspect sensitive data, follow your team's security policy and avoid sharing output publicly.