Tool

Webhook payload tester and signature checker

Paste the raw body your endpoint received. Everything runs locally in your browser; nothing is uploaded.

1. Payload

2. Signature check (HMAC)

The signature is computed over the exact text in the payload box above. If you reformatted it, paste the original raw body again: a single space changes the result.


How webhook signatures work

The sender and the receiver share a secret. For each delivery the sender computes an HMAC of the body (sometimes prefixed with a timestamp or message id) and puts it in a header. The receiver recomputes it over the raw bytes and compares the two in constant time. If they match, the request came from someone who knows the secret and the body was not modified.

PlatformHeaderSigned string
GitHubX-Hub-Signature-256: sha256=<hex>raw body
SlackX-Slack-Signature: v0=<hex> + X-Slack-Request-Timestampv0:{ts}:{body}
Meta / WhatsAppX-Hub-Signature-256: sha256=<hex>raw body, app secret as key
Standard Webhookswebhook-signature: v1,<base64>{id}.{ts}.{body}
TelegramX-Telegram-Bot-Api-Secret-Tokenno HMAC: compare the secret_token you set
DiscordX-Signature-Ed25519Ed25519 over timestamp + body (public key, not HMAC)

Read the full walkthrough in the APIs and webhooks guide.