Launch special — let's split the check with SPLITCHECK for 50% off

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

  1. 1
    Get your free webhook URL

    Create a free endpoint at hooksense.com. You get a unique URL instantly — no credit card, no config.

  2. 2
    Paste it into GitHub

    In the GitHub dashboard, add the URL as your webhook endpoint and pick the events you want (push, pull_request, etc.).

  3. 3
    Trigger 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/github

Common GitHub webhook events

push
pull_request
issues
issue_comment
create
delete
deployment
workflow_run

Testing 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