Tool

Webhook signature generator and verifier (GitHub, Stripe, Slack, Meta)

Use it to send correctly signed test deliveries to your local endpoint, or to debug why your verification fails. Secrets never leave the page and are not saved.



Why verification usually fails

  1. The body was parsed and re-serialized before hashing. Hash the raw bytes exactly as received.
  2. Wrong secret: test mode and live mode, or the app secret versus the verify token.
  3. Comparing with == instead of a constant-time comparison, or comparing hex against base64.
  4. For timestamped schemes, a clock skew or a replayed request older than five minutes.

Discord interactions use Ed25519 public-key signatures rather than HMAC; verify them with your application's public key.

Related: Webhook payload tester, APIs and webhooks guide.