Webhook Tester — Inspect HTTP Requests

Get a unique URL, point any webhook or HTTP client at it and watch requests arrive in real time — headers, query string and pretty-printed body, plus HMAC signature checks.

Runs on our serverUpdated
Your webhook URLConnecting…

Any method, any path below this URL. Requests are kept for 24 hours (latest 50).

Send a test request

  
Response settings — what the URL answers
Requests (0)
Waiting for the first request…

Send anything to your URL — it shows up here within two seconds.

This tool fetches the public URL you enter from our server. Results are held in temporary memory for a few minutes and never stored in a database.

How to use the Webhook Tester

  1. Your unique webhook URL is created automatically — click Copy URL.
  2. Paste it into the webhook settings of the service you are testing (GitHub, Stripe, Shopify, Slack, Zapier…) or call it with curl.
  3. Requests appear live on the left. Click one to see its headers, query string and body.
  4. Paste your signing secret in Verify signature to check the HMAC the sender attached.

What is a webhook tester?

A webhook is an HTTP request a service sends to your URL when something happens — a payment succeeds, code is pushed, an order is placed. While you build the receiver, you need to see exactly what arrives: which headers, what JSON shape, how the signature is computed. A webhook tester gives you a temporary public URL that records every request so you can inspect it, without writing or deploying any code.

What you can inspect

  • Method and path — anything after your URL is captured, so you can use /orders, /refunds etc. to tell events apart.
  • Headers — content type, user agent, event names (X-GitHub-Event, Stripe-Signature, X-Shopify-Topic) and delivery IDs.
  • Query string and body — JSON is pretty-printed, form posts are decoded into a table, binary bodies are shown as base64.
  • Signature check — recomputes the HMAC-SHA256 the provider sent, using your signing secret, entirely in your browser.

Signature schemes supported

ProviderHeaderWhat is signed
GitHubX-Hub-Signature-256: sha256=…Raw body, hex
StripeStripe-Signature: t=…,v1=…timestamp.body, hex
ShopifyX-Shopify-Hmac-Sha256Raw body, base64
Genericany header you chooseRaw body, hex or base64

Testing from your laptop

Webhook providers can’t reach localhost. Use this URL to learn the payload format first, then build your handler and test locally with the provider’s CLI (stripe listen, gh webhook forward) or a tunnel. Always verify signatures and respond with a 2xx status quickly — most providers retry on timeouts and errors.

Limits and privacy

Each URL keeps its latest 50 requests for 24 hours, accepts bodies up to 256 KB and up to 120 requests a minute. The URL itself is the key: anyone who has it can send to it and see its requests, so don’t send real customer data or production secrets. Format captured payloads with the JSON formatter, decode tokens with the JWT decoder, or build HMACs with the HMAC generator.

Tools that pair well with the Webhook Tester

  • HTTP Header Checker — Fetch any URL and see exactly what the server sends back — status code, redirect chain and every response header, with a plain-English explanation of the ones that matter for SEO, caching and security.
  • MIME Type Lookup — Search 200+ file extensions and MIME types — .webp, .woff2, .webmanifest, application/wasm … — or drop a file to detect its real type from its first bytes.
  • Subnet Calculator — Enter an IP with a prefix (10.0.0.0/22) or a subnet mask (192.168.1.10 255.255.255.0) to get the network, broadcast, usable hosts and binary breakdown — and split it into subnets.
  • URL Parser — Paste a URL to see every component and decoded query parameter — then edit, add or remove parameters and copy the rebuilt URL.

Frequently asked questions

Is the webhook tester free?
Yes — no account, no limits on the number of URLs. Each URL keeps requests for 24 hours.
Can I choose the response my URL sends?
Yes. Open Response settings to set the status code (for example 500 to test your provider’s retries) and a JSON or plain-text body.
Who can see my requests?
Anyone who knows the URL. It is long and random, so it can’t be guessed, but treat it like a password and don’t send production secrets or personal data to it.
Does it work with Stripe, GitHub, Shopify and Slack?
Yes. Any service that can send HTTP requests to a public HTTPS URL works. Signature verification is built in for GitHub, Stripe and Shopify, and a generic HMAC-SHA256 mode covers most others.
Why does my browser test show an extra OPTIONS request?
Browsers send a CORS preflight before cross-origin requests with JSON bodies. The tester answers it automatically and only records the real request.

Related tools