Webhook Tester
Test Discord webhooks by sending messages and rich embeds. Preview before sending and inspect responses.
Webhook Settings
Preview & Response
Payload JSON
{}Configure and preview your webhook message
Introduction
Webhooks are the most common way to push automated messages into Discord channels, but debugging a failing webhook request usually involves curl commands, inspecting HTTP status codes, and deciphering Discord's validation error responses. Webhook Tester sends a test payload to any webhook URL and shows you the exact request, response status, and error details so you can fix configuration problems without switching between a terminal and Discord.
What Is Webhook Tester?
Webhook Tester is a diagnostic tool that sends HTTP POST requests to Discord webhook endpoints and reports back the full round-trip details. When a webhook integration stops working — messages no longer appear in the target channel, or they appear mangled — the tool isolates whether the problem is the payload structure, authentication token, rate limiting, or Discord's validation rules. It displays the exact JSON body that was sent, the HTTP status code Discord returned (200, 400, 401, 404, or 429), and the response body containing Discord's human-readable error message.
The tool exists because webhook debugging is typically done blind. You configure a GitHub Actions workflow, a monitoring service, or a custom script to POST to a webhook URL, and if the message never appears, you have to check logs, read through Discord's API documentation, and guess at what went wrong. Webhook Tester makes the request visible: you see the exact payload, the exact URL, and the exact error. For 400 responses it parses Discord's error structure and highlights which field failed validation, such as a description exceeding 2048 characters or an invalid color integer.
Beyond diagnostics, the tool serves as a quick way to verify that a newly created webhook is functional before wiring it into a production system. Ops teams creating webhooks for alerting pipelines can confirm end-to-end delivery in seconds, then paste the verified webhook URL into PagerDuty, Grafana, or their CI/CD config with confidence. This pre-flight check catches misconfigured URLs, expired tokens, and payload structure errors before they affect production alerting workflows.
Webhook Tester Examples
| Input | Output |
|---|---|
| Webhook URL: https://discord.com/api/webhooks/1234567890/abcXYZ, Payload: {"content": "Deploy v3.1.4 succeeded", "username": "CI Pipeline"} | HTTP 200 OK — Message posted to channel, response body: {"id": "1107708424104050768", "type": 0, "content": "Deploy v3.1.4 succeeded"} |
| Webhook URL with invalid token, Payload: {"content": "Test message"} | HTTP 401 Unauthorized — response: {"message": "Invalid Webhook Token", "code": 50027} |
| Webhook URL: valid, Payload with embed exceeding 6000 total characters | HTTP 400 Bad Request — response: {"message": "Invalid Form Body", "code": 50035, "errors": {"embeds": {"0": {"_errors": [{"message": "sum of characters in embed"}]}}}} |
| Webhook URL: valid, Payload sent 6 times in rapid succession | HTTP 429 Too Many Requests — response: {"message": "You are being rate limited.", "retry_after": 3.75} |
Key Features of Webhook Tester
- Full round-trip inspection showing the exact request JSON, HTTP status code, and Discord's response body
- Parsed error diagnostics that translate Discord's nested JSON error structure into a field-level explanation of what failed
- Rate-limit detection that identifies 429 responses and extracts the retry_after value in seconds
- Preset payload templates for plain text, single embed, and embed-with-text to avoid writing JSON from scratch
- Custom JSON editor with syntax highlighting and validation for manual payload construction
- Webhook URL masking that hides the token portion from screen recordings or screenshots for security
- Request history panel that retains the last 10 test results for side-by-side comparison while debugging
How It Works
Paste Your Webhook URL
Enter the Discord webhook URL you received from your server's channel settings. The tool uses this endpoint to send test requests, so make sure you have the correct URL with the webhook ID and token intact. The URL is never stored or shared outside the current session.
Compose Your Test Payload
Build a test message using the built-in editor or paste raw JSON directly. You can set the username override, avatar URL, message content, and embeds to simulate exactly what your integration will send in production. The tool validates the JSON structure before sending so you catch syntax errors early.
Send and Inspect the Response
Hit send and the tool delivers the payload to your webhook URL, then displays the HTTP status code and any error details Discord returns. A 204 No Content response means success, while error codes like 401 or 400 pinpoint exactly what went wrong with your request format or authentication.
Who Uses This
Integration Developers
verifying that their GitHub Actions, Zapier workflows, or custom scripts send correctly formatted payloads to Discord before deploying them to production environments
Server Moderators
testing webhook URLs after regenerating them for security reasons, confirming that the new URL works before updating all connected services and automations
DevOps Engineers
debugging alert pipelines that push incident notifications to Discord channels, quickly identifying whether a failed delivery is a payload formatting issue or a network connectivity problem