# Free open-source webhook tools

> Three free MIT-licensed webhook tools: a self-hosted request bin, a sender for signed Stripe, GitHub and Shopify events, and a Discord webhook tester.

Source: https://webhooker.eu/tools
Last updated: 2026-09-18

We build Webhooker, an EU-hosted webhook gateway, and we publish the small tools we needed while building it. Three of them are out: a self-hosted request bin, a sender for correctly signed Stripe, GitHub and Shopify events, and a Discord webhook tester. All three are MIT licensed, ship as Docker images, run on your own machine and need no Webhooker account.

## [Webhook Tester](https://webhooker.eu/tools/webhook-tester)

Self-hosted request bin in one Docker container

Create a unique URL, point any provider at it and watch every request arrive: method, path, query, headers, client IP and body. Requests are stored in SQLite on your own server, so payloads never reach a third-party website.

- MIT
- Python
- Docker

[How it works →](https://webhooker.eu/tools/webhook-tester) [Repository on GitHub](https://github.com/webhooker-eu/webhook-tester)

## [Discord Webhook Tester](https://webhooker.eu/tools/discord-webhook-tester)

Send a test message to a Discord webhook, and build the embed visually

A CLI for scripts and CI plus a local web form with a live Discord-style preview. Build the embed, send it, and export the same message as JSON, curl or a CLI command.

- MIT
- Python
- Docker

[How it works →](https://webhooker.eu/tools/discord-webhook-tester) [Repository on GitHub](https://github.com/webhooker-eu/discord-webhook-tester)

## [Webhook Mock Sender](https://webhooker.eu/tools/webhook-mock-sender)

Send signed Stripe, GitHub and Shopify events to your own endpoint

Builds a realistic provider event, signs it with your webhook secret using that provider's own scheme and POSTs it anywhere, localhost included. It also sends what a provider never will: a wrong signature, a replayed request, a duplicate delivery.

- MIT
- Python
- Docker

[How it works →](https://webhooker.eu/tools/webhook-mock-sender) [Repository on GitHub](https://github.com/webhooker-eu/webhook-mock-sender)

## Which webhook tool do I need?

The three tools split by direction. Webhook Tester receives requests so you can look at them, Webhook Mock Sender sends requests so your handler can be tested, and Discord Webhook Tester sends messages to a Discord channel. Anything that has to survive a restart, a failed delivery or an audit belongs on the hosted gateway instead.

| What you need | Tool | Start with |
| --- | --- | --- |
| See what a provider actually sends | [Webhook Tester](https://webhooker.eu/tools/webhook-tester) | `docker run -d -p 8080:8080 -v webhook-tester-data:/data ghcr.io/webhooker-eu/webhook-tester` |
| Check that my endpoint verifies signatures | [Webhook Mock Sender](https://webhooker.eu/tools/webhook-mock-sender) | `webhook-mock-sender send stripe invoice.paid "$URL" --invalid-signature --expect 400` |
| Post a test message to a Discord channel | [Discord Webhook Tester](https://webhooker.eu/tools/discord-webhook-tester) | `discord-webhook-tester send --content 'Deploy finished'` |
| Receive production webhooks that must not be lost | [Webhooker (hosted)](https://webhooker.eu/docs/quickstart) | `POST https://app.webhooker.eu/in/{token}` |

## Local tools, because payloads are not test data

A webhook payload carries customer emails, order totals and signature headers, and a webhook URL is a credential. Pasting either into a public tester hands it to someone else's database, and security teams flag the usual request-bin domains for exactly that reason. Every tool here runs on your machine, so the data stays there.

The wider comparison, including the hosted testers, is in [webhook.site and RequestBin alternatives](https://webhooker.eu/blog/webhook-site-alternatives), and the reasoning behind running your own is in [webhook security](https://webhooker.eu/blog/webhook-security-signature-verification).

## Open-source tool questions

### Are these tools really free?

Yes. All three are MIT licensed, run on your own machine or server, and need no Webhooker account. You can use them commercially, fork them and change them, with no feature held back for a paid tier.

### Do they send my payloads or secrets anywhere?

No. Each tool runs locally: Webhook Tester stores requests in SQLite inside your container, Webhook Mock Sender talks only to the endpoint URL you give it, and Discord Webhook Tester talks only to Discord. Webhook URLs and signing secrets never reach a third-party website, which is the main reason to run a tester yourself rather than paste a payload into a public one.

### How are they different from Webhooker itself?

The tools are for testing: they show you a request, or send one, and forget it afterwards. Webhooker is the hosted gateway for production traffic: it verifies each provider's signature, stores every event durably, retries failed deliveries for about five hours, keeps a per-attempt log and lets you replay anything. Use the tools while you build a handler; use the gateway once real events depend on it.

### Can I contribute or request a tool?

Yes. Issues and pull requests are welcome on every repository under the webhooker-eu organisation on GitHub, and a feature request is just an issue on the repository it belongs to.

More is on the way: the roadmap and every repository live in the [webhooker-eu organisation](https://github.com/webhooker-eu) on GitHub.

## Testing is one problem. Delivery is the other.

Once your handler is right, the events still have to survive a deploy, a timeout and a five-minute outage. Webhooker receives them on one EU-hosted ingest URL, verifies the signature, stores every event and retries until it lands.

[Start for free](https://app.webhooker.eu/register) [See pricing](https://webhooker.eu/pricing)
