Webhook Tester
Generate realistic webhook test payloads for GitHub, Stripe, Slack, and custom services. Pick a service, customize the payload, enter your endpoint URL, and get a ready-to-run curl command to send the test request to your local handler.
Frequently Asked Questions
What is a webhook and how do I test one?▼
A webhook is an HTTP POST request that one service sends to another when an event occurs (e.g., GitHub sends a push event, Stripe sends a payment event). To test a webhook handler, you need to send a realistic payload to your endpoint with the right headers. This tool generates accurate sample payloads for popular services and gives you a curl command to send them from your terminal.
Why do I need to use curl instead of sending directly from the browser?▼
Browsers enforce CORS (Cross-Origin Resource Sharing) policies, so a browser-based tool can't send POST requests to arbitrary endpoints on localhost or other domains. curl runs outside the browser and can send requests anywhere — making it the standard way to test webhook endpoints during local development.
How do I verify webhook signatures?▼
Most services sign webhook payloads using HMAC-SHA256 with a secret key. GitHub uses X-Hub-Signature-256, Stripe uses Stripe-Signature (with timestamp + signature), and Slack uses X-Slack-Signature. Your handler should validate this signature against the raw request body before processing. The sample headers in this tool show placeholder signatures — replace them with real ones from your service dashboard.
How do I test webhooks with a local dev server?▼
Use a tunneling tool like ngrok (ngrok http 3000) or Cloudflare Tunnel to expose your local port to the internet. Copy the public URL, register it in your service's webhook settings, and trigger real events. For faster iteration without real events, use this tool to generate curl commands that replicate the exact payload format — no internet required.
What headers does a GitHub webhook include?▼
GitHub webhooks include: Content-Type (application/json or application/x-www-form-urlencoded), X-GitHub-Event (the event name, e.g. push, pull_request), X-GitHub-Delivery (a UUID for the delivery), X-Hub-Signature (HMAC-SHA1 of the body, deprecated), and X-Hub-Signature-256 (HMAC-SHA256, preferred). Always validate X-Hub-Signature-256 against your webhook secret.
How do I handle Stripe webhook signatures correctly?▼
Stripe's Stripe-Signature header contains a timestamp (t=) and one or more signatures (v1=). To verify: 1) extract the timestamp, 2) construct the signed payload string as timestamp + '.' + raw body, 3) compute HMAC-SHA256 of that string using your endpoint's signing secret, 4) compare against the v1 signature. Never parse JSON before signature verification — you need the raw body bytes. Use Stripe's official SDK webhooks.constructEvent() method.
Related Products
on GumroadDevToolkit Starter Kit
A ready-to-deploy developer tools website with 12 built-in tools. Astro + Preact + Tailwind. Deploy to Cloudflare Pages for free. Built-in SEO, dark mode, and ad-ready layout.
Buy on Gumroad →TypeScript Quick Reference Toolkit
5 practical reference files for TypeScript developers: cheatsheet, TS vs JS comparison, 20 utility types with real examples, tsconfig best practices template, and 15 common mistakes guide. Print it. Keep it on your desk.
Buy on Gumroad →Developer Productivity Bundle
Stop rebuilding the same setup every project. 51 VSCode snippets, 40 Git aliases, 5 Docker Compose stacks, 5 GitHub Actions workflows, 5 README templates, and a dotfiles kit. Set up a professional dev environment in under an hour.
Buy on Gumroad →You Might Also Need
OpenAPI Validator
Paste your OpenAPI 3.x spec (YAML or JSON) to validate structure, find missing required fields, detect duplicate paths, check for missing operationIds, and get errors and warnings with path references.
Open free tool →
HTTP Status Code Reference
Complete HTTP status code reference. Search all 1xx, 2xx, 3xx, 4xx, and 5xx codes with plain-English descriptions, real-world use cases, and when to use each in REST APIs.
Open free tool →
API Request Builder
Build and test HTTP requests visually with any method, headers, and body. Generate cURL commands instantly. Free online API testing tool with Pro unlimited access. No signup required.
Open free tool →
More Free Tools
Related Articles
API Testing in 2026: From cURL to Automated Test Suites
Complete API testing guide 2026: cURL basics to Postman, Insomnia, and automated suites with JavaScript and Python. Real examples included.
Webhook Testing: How to Debug, Inspect, and Replay Webhooks in 2026
Complete guide to webhook testing. Covers local tunneling, replay tools, signature verification, retry handling, and the best practices for testing webhooks without production data.
curl 深度使用手冊:API 測試從入門到進階
curl 是每位開發者必備的 CLI 工具。本文涵蓋 GET/POST/PUT/DELETE 請求、認證、header 設定、檔案上傳、除錯技巧,以及 REST API 測試的完整實戰範例。
API Testing Best Practices 2026: Postman vs Insomnia vs Bruno
Complete guide to API testing in 2026. Compare Postman, Insomnia, and Bruno, learn best practices for REST and GraphQL testing, and build automation pipelines that catch regressions before production.
MSW 2.0: The Best Way to Mock APIs in Frontend Tests
A complete guide to Mock Service Worker (MSW) 2.0 — setup, request handlers, Vitest and Jest integration, Storybook mocking, and best practices for realistic API mocking in frontend tests.
Enjoying this tool? Get more like it.
Weekly developer tool guides, productivity playbooks & AI tricks. Free. No spam.
Unlock AI-Powered Dev Tools
- ⚡ AI Code Review, Doc Generator & SQL Builder
- ⚡ All premium templates & early access
- ⚡ Member discounts on Gumroad products
$9/mo after trial · Cancel anytime
Want the full toolkit?
Get DevPlaybook Pro
Every template, guide, boilerplate, and automation script in one bundle. 13 premium products — grab them all at once and save big.
MIT licensed · Instant download · No subscription
See what's included → Browse all deals →