PIGONA
Webhook Tester

Discord Webhook Tester

Test your Discord webhook in seconds. Paste the URL, validate it, and send a test message to make sure it works.

What is a Discord webhook?

A Discord webhook is a unique URL that lets you send messages to a specific Discord channel without needing a bot. Webhooks are commonly used for GitHub notifications, server monitoring alerts, CI/CD pipeline updates, and custom integrations. Each webhook has its own name, avatar, and is linked to a specific channel.

How to create a Discord webhook

  1. Open your Discord server and go to Server Settings
  2. Navigate to Integrations > Webhooks
  3. Click New Webhook
  4. Set a name and select the target channel
  5. Click Copy Webhook URL
  6. Paste the URL into the tester above to verify it works

How this tester works

Paste your webhook URL and click Check. The tool validates the URL against Discord's API and shows the webhook's name, avatar, and linked channel. If valid, you can type a custom message and send it through the webhook to confirm it's working. Your webhook URL is proxied through our server for security (browsers can't call Discord's API directly due to CORS) but is never stored or logged.

Common Discord webhook error codes

When a webhook request fails, Discord returns an HTTP status with a JSON body containing a numeric code and message. These are the ones you will actually hit:

Discord webhook rate limits

Discord enforces per-webhook and per-channel rate limits, and the exact bucket sizes are determined server-side and surfaced in response headers rather than as a fixed number. Every successful response includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset-After - read these to schedule your next request, do not hard-code a fixed rate. A 429 response body also carries a retry_after value (seconds). For high-volume integrations (build pipelines, log aggregation), batch multiple events into a single message - one webhook call can carry up to 10 embeds with up to 6,000 combined characters per embed, which is usually enough to consolidate a burst of events into one request.

Webhook security best practices

A webhook URL is a bearer credential. Anyone with the full URL can post to your channel as the webhook bot, with no further authentication. Treat it like a password:

Manual webhook test with curl

If you would rather test from the terminal, the minimal payload is one content field. A successful POST returns HTTP 204 with an empty body, or HTTP 200 with the created message JSON if you append ?wait=true to the URL. Use ?wait=true when you need the message ID back (for example, to edit or delete the message later through the /webhooks/<id>/<token>/messages/<message_id> endpoint).

More free Discord tools

Powered by Pigona - Free AI Translation for Discord