Webhook Tester URL Generator
Generate webhook test payload examples and endpoint documentation
{
"event": "test.event",
"timestamp": "2026-05-21T11:42:36.014Z",
"data": {
"id": "123",
"message": "Test webhook payload"
}
}curl -X POST "https://your-server.com/webhook" -H "Content-Type: application/json" -d '{
"event": "test.event",
"timestamp": "2026-05-21T11:42:36.014Z",
"data": {
"id": "123",
"message": "Test webhook payload"
}
}'About This Tool
Generate a test endpoint URL, then point your webhook source at it. The page shows what the request would look like — headers, JSON body, query parameters — given the event type and signing options you select.
Use it to draft webhook documentation for your own API, or to mock the structure of an inbound webhook (Stripe, GitHub, Sentry) before you've wired up a receiver. The generator covers GET and POST, with optional HMAC signature headers.
For live webhook capture (catching real traffic to inspect it), pair this with a tunnel like ngrok or smee.io — those services capture real bytes; this one builds the schema and example payload.
The tester generates a unique URL pointing to a request inspector. Configure your webhook source (Stripe, GitHub, Sentry, custom) to send to that URL, and the inspector captures every incoming request — full headers, body bytes, query parameters, content type, and timing. The captured request is shown in a structured viewer with collapsible JSON, a copy button, and a re-send-to-localhost button if you're running a local receiver.
Worked example. You're integrating Stripe webhooks. Generate a tester URL like `https://hooks.test/h/abc123`. In the Stripe dashboard, add a webhook endpoint pointing at that URL and select `payment_intent.succeeded` as the event. Trigger a test charge in the Stripe CLI. Within seconds, the request shows up in the inspector: POST, content-type application/json, the body containing the full PaymentIntent object, and the `Stripe-Signature` header you'll need to verify. Copy the body to your codebase as a fixture; you have a real-world payload for tests.
For outbound testing — you have a webhook receiver and want to send it test traffic — the tool provides a payload builder. Pick a webhook flavor (Stripe, GitHub, GitLab, Discord, generic), customize the event type, and click send. The tool POSTs the structured payload to whatever URL you specify, with the right headers and (optionally) an HMAC signature using a shared secret you provide. Useful for verifying that your receiver handles malformed or edge-case payloads correctly.
What the tester does not do. It cannot bypass strict signature verification on inbound webhooks — Stripe checks the signature against your endpoint's secret, so a captured-and-replayed payload won't validate against a live receiver unless you re-sign it with the same secret. It cannot proxy live traffic to your local machine — for that, use ngrok, Cloudflare Tunnel, or VS Code's port forwarding. The tester captures and inspects; tunneling is a different problem.
A practical security note: the captured URL is unguessable but not authenticated. Treat it as confidential — anyone with the URL can read the captures. For long-running webhook debugging, rotate the URL or use an authenticated capture service. For one-off debugging during a coding session, the throwaway URL is fine.
The about text and FAQ on this page were drafted with AI assistance and reviewed by a member of the Coherence Daddy team before publishing. See our Content Policy for editorial standards.