GitHub Webhook Tester
Test GitHub webhooks in real-time — no signup, no tunnels.
Get a free webhook URL in one click, paste it into your GitHub dashboard, and watch events stream in live. Verify X-Hub-Signature-256 signatures automatically, replay any request to your local server, and debug payloads with search and filters.
Why test GitHub webhooks with HookSense
Real-time WebSocket stream
Events appear the instant GitHub sends them. No polling, no refresh button.
HMAC-SHA256 verification
Paste your signing secret once — HookSense verifies every GitHub request automatically.
One-click replay
Send any captured webhook back to your local server or production — rerun your handler without triggering new events.
CLI forwarding, no ngrok
Forward directly to localhost:3000 with npx hooksense listen.
Quick start — 3 steps
- 1Get your free webhook URL
Create a free endpoint at hooksense.com. You get a unique URL instantly — no credit card, no config.
- 2Paste it into GitHub
In the GitHub dashboard, add the URL as your webhook endpoint and pick the events you want (push, pull_request, etc.).
- 3Trigger an event and watch it arrive
Fire a test event from GitHub — it lands in HookSense within milliseconds. Inspect headers, body, and signature. Replay when ready.
Forward to localhost
npx hooksense listen -p 3000 --path /api/integrations/githubCommon GitHub webhook events
pushpull_requestissuesissue_commentcreatedeletedeploymentworkflow_runTesting tips specific to GitHub
- GitHub sends a ping event when you first set up a webhook — use HookSense to verify it arrives
- Use the X-GitHub-Event header to determine the event type
- GitHub retries failed deliveries — use HookSense replay to test your retry handling
- Filter events in HookSense to focus on specific event types during debugging
Frequently asked
- How do I test GitHub webhooks locally?
- Add a HookSense URL as the Payload URL in your repo's webhook settings. Events like push, pull_request, and deployment land in HookSense in real time. Forward to localhost with `npx hooksense listen -p 3000` so your handler runs on your machine.
- Why isn't my GitHub webhook firing?
- Check GitHub → Settings → Webhooks → Recent Deliveries for the exact response. Common causes: the endpoint returned non-2xx, the payload URL isn't publicly reachable, the content type is wrong, or GitHub disabled delivery after too many failures. HookSense gives you a reliable public URL that won't time out or drop.
- How do I verify GitHub's X-Hub-Signature-256 header?
- GitHub signs the raw body with HMAC-SHA256 using the secret you configured. Recompute the hash in your handler and compare with a timing-safe function. HookSense verifies the signature automatically once you paste the secret into the endpoint settings.
Test webhooks from other providers
Start testing GitHub webhooks now
Free plan includes 100 requests/day, 7-day retention, real-time streaming. No credit card.
Create a free endpoint