HMAC Signature Checker Online

Validators and utilities that complement HMAC Signature Checker Online — same session, no sign-up.

Ctrl+Enter (or ⌘+Enter) to verify.

Verify HMAC-SHA256 or HMAC-SHA1 signatures against a payload and secret. Free webhook signature checker for Stripe/GitHub-style digests.

About this tool

Paste the raw payload (exactly as received), secret, and signature. Uses Web Crypto HMAC. Do not paste real secrets in production; use for testing only.

How to use this tool

  1. Paste the exact raw payload body that was signed.
  2. Enter the shared secret and expected signature (hex or sha256=… form).
  3. Run verify and compare with your provider’s documented encoding.

What this check helps you catch

  • Algorithm match (SHA-256 vs SHA-1)
  • Raw body vs pretty-printed JSON mismatch
  • Optional provider prefixes like sha256=

FAQ

How do I verify a webhook HMAC signature online?
Paste the raw request body, secret, and signature. This checker recomputes HMAC and compares. Signing a reformatted JSON body will fail even with the correct secret.
What about Stripe or GitHub signature headers?
Many providers send hex digests, sometimes prefixed (sha256=). Paste the digest value your docs specify; strip prefixes if your comparison expects raw hex.
Can I generate an HMAC here too?
Use /security/hmac-generator to create signatures, then verify here or with /security/webhook-signature-validator.

The Signature Checker helps you verify whether a payload matches an expected HMAC signature using a shared secret. This is commonly used in API integrations, webhook security, and server-to-server message validation where you need to confirm that data was not altered in transit and that it came from a trusted sender. It supports HMAC-based signatures such as SHA-256 and SHA-1, making it useful for developers, security engineers, and platform teams validating request authenticity during testing, debugging, or incident review.

How This Validator Works

This tool compares a computed HMAC signature for the provided payload and secret against the signature you expect to receive. In practice, the sender generates a signature by hashing the exact request body with a shared secret and a supported algorithm such as SHA-256 or SHA-1. If the computed value matches, the payload is likely unchanged and the secret is correct. If it does not match, the issue may be an altered payload, a formatting difference, an incorrect secret, or a mismatched algorithm.

  • Input: payload, secret, and signature value
  • Process: recompute HMAC using the selected algorithm
  • Output: match or mismatch result for quick verification

Common Validation Errors

Signature mismatches usually come from implementation details rather than a broken system. The most common issues are small differences in the payload, encoding, or algorithm selection. Even a single whitespace change can produce a different HMAC value.

  • Wrong secret: the shared secret does not match the sender’s configured key
  • Different payload bytes: body parsing, trimming, or reformatting changed the input
  • Algorithm mismatch: SHA-256 was expected but SHA-1 was used, or vice versa
  • Encoding issues: UTF-8, base64, or hex formatting differs between systems
  • Header formatting: the signature may include prefixes or separators that must be removed before comparison
  • Canonicalization differences: JSON key order, line endings, or whitespace may affect the computed result

Where This Validator Is Commonly Used

Signature validation is widely used anywhere a system needs to confirm message integrity and sender authenticity. It is especially common in API ecosystems where webhooks, callbacks, and event notifications are delivered from one service to another.

  • Webhook verification: validating inbound events from payment, messaging, or automation platforms
  • API integrations: confirming that signed requests were generated by an authorized client
  • Server-to-server communication: checking message integrity between trusted services
  • Security testing: reproducing signature logic during debugging or incident analysis
  • Developer tooling: validating sample payloads while implementing request verification code

Why Validation Matters

HMAC signature validation is a practical control for protecting data integrity and trust in automated systems. It helps reduce the risk of accepting modified requests, misrouted events, or unauthorized messages. While it does not replace transport security like HTTPS or broader authentication controls, it adds an important layer for verifying that a payload has not been changed and that the sender knows the shared secret.

Technical Details

HMAC is a keyed hashing method defined in common cryptographic standards and used broadly in API security patterns. The exact verification result depends on using the same raw payload bytes, the same secret, and the same digest algorithm as the sender. For reliable checks, systems often compare signatures in constant time to reduce timing side-channel risk.

  • Algorithms: SHA-256 and SHA-1 are commonly encountered in legacy and current integrations
  • Input sensitivity: byte-for-byte payload matching is essential
  • Output formats: signatures may be represented as hex or base64 depending on the provider
  • Verification scope: confirms integrity and shared-secret knowledge, not full identity assurance by itself
  • Implementation note: use the exact canonical payload format expected by the sender

FAQ

What does a signature checker verify?

A signature checker verifies whether a payload produces the same HMAC value as the signature you received. This helps confirm that the message was generated with the expected shared secret and that the payload has not been altered. It is commonly used for webhook and API request validation.

What is the difference between HMAC SHA-256 and HMAC SHA-1?

Both are HMAC-based message authentication methods, but they use different hash functions. SHA-256 is generally the more modern option, while SHA-1 appears in older integrations and legacy systems. The sender and verifier must use the same algorithm or the signatures will not match.

Why does my signature fail even when the secret is correct?

Signature failures often happen because the payload bytes are not identical. JSON formatting, whitespace, line endings, encoding, or body parsing can change the input. A mismatch can also occur if the signature is encoded differently, such as hex versus base64, or if a prefix was included in the header.

Can this tool tell me if a webhook is safe?

It can help verify whether the webhook signature matches the expected HMAC value, which is an important trust signal. However, a valid signature does not guarantee the message is harmless or that the sender’s system is fully secure. It only confirms integrity and shared-secret possession for that request.

Do I need the exact raw payload to validate a signature?

Yes. HMAC verification depends on the exact bytes that were signed. If your application parses, reformats, or normalizes the payload before checking the signature, the computed result may differ. In many webhook implementations, the raw request body is required for accurate validation.

Is SHA-1 still supported in some systems?

Yes. Some older APIs and webhook providers still use SHA-1 for compatibility reasons. Even so, many newer systems prefer SHA-256. When validating a signature, always use the algorithm specified by the provider or integration documentation.

What is the difference between signature validation and authentication?

Signature validation checks that a message was created with a shared secret and that the payload was not modified. Authentication is broader and may involve user credentials, tokens, certificates, or identity systems. A valid HMAC signature is one trust signal, but it is not the same as full user authentication.

Can formatting changes in JSON break HMAC verification?

Yes. If the sender signs the raw JSON text, even small changes like spacing, key order, or newline characters can change the HMAC result. Some systems define a canonical serialization format to avoid this problem, but many webhook implementations require the exact original body.

Related Validators & Checkers

  • API Validator
  • JSON Validator
  • Base64 Validator
  • SHA-256 Checker
  • SHA-1 Checker