b2KIT

AWS Signature V4 Calculator

Calculate AWS Signature Version 4 for API requests with step-by-step signing process visualization.

Tested tool guide Tested browser tools Checked August 16, 2026

What AWS Signature V4 Calculator does and how it behaves

This tool walks a single AWS API request through the four stages of the Signature Version 4 process from AWS's General Reference: build a canonical request from the method, URI, query string, headers, and a SHA-256 payload hash; hash that canonical request; derive a signing key by chaining HMAC-SHA256 over the date stamp, region, service name, and the literal 'aws4_request'; then use that key to produce the final hex signature and Authorization header. The mistake people hit most is canonical URI encoding: S3 canonical URIs are URI-encoded exactly once, while almost every other AWS service expects the path segments URI-encoded twice, and mixing the two up produces a signature that computes cleanly but AWS still rejects with SignatureDoesNotMatch.

How the result is produced

1

Canonical request construction

The tool normalizes your HTTP method, URI path, and query string, lowercases and alphabetically sorts headers into the canonical header block, records which header names are signed, and computes a SHA-256 hex digest of the request body (or substitutes UNSIGNED-PAYLOAD if you opt out of body hashing). These five components are newline-joined into the canonical request that every later step hashes or references.

2

Signing key chain and final signature

Starting from the string 'AWS4' concatenated with your secret access key, the tool runs four nested HMAC-SHA256 operations keyed successively by the date, the region, the service name, and 'aws4_request' to derive a request-scoped signing key. That key then HMACs the string-to-sign, which itself embeds the hashed canonical request and credential scope, producing the hex signature placed in the Authorization header.

Good uses

  • Diagnosing a SignatureDoesNotMatch error by comparing your application's canonical request line-by-line against the tool's computed version
  • Learning or teaching how SigV4 actually works by stepping through canonical request, string-to-sign, and signing key for a request you construct by hand
  • Producing a one-off signed curl command for an AWS API endpoint when installing the AWS CLI or an SDK isn't practical

Limits and checks

  • The signing math runs entirely in your browser, but that doesn't make pasting a long-lived production secret access key into any web page a good habit - use temporary or scoped credentials when testing.
  • Canonical URI encoding is service-dependent: S3 has a documented exception where object keys are URI-encoded once rather than twice, while other services expect double encoding. A calculator that applies one rule universally will produce internally consistent but AWS-rejected signatures for whichever service it got wrong.
  • AWS enforces a request time window (RequestTimeTooSkewed, typically a few minutes) between the x-amz-date you sign with and the server's clock, so a signature computed against an old or manually-entered timestamp can be mathematically correct and still get rejected when actually sent.

Common questions

Does this work for services other than S3, like DynamoDB or a custom API Gateway endpoint?

Yes - SigV4 itself is identical across AWS services; you just need to supply the correct service identifier (e.g. dynamodb, execute-api) and region in the credential scope. The one thing to double check per service is whether it expects double URI-encoding, since S3 is the documented exception.

Can I use this signature with temporary credentials from an assumed role?

Yes, but you must include the session token as an x-amz-security-token header and add it to the signed headers set, otherwise AWS will reject the request even if the signature over the other headers is correct.

References and verification

The behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools