Documentation
Everything on this page describes what's already in the app — there's nothing to install or configure beyond what you see here.
webhook-lab builds the message on your screen first, so you can see exactly what will post before anything is sent. Once it looks right, paste in a webhook URL and hit send.
webhook_urlThe Discord endpoint the message is sent to. This field is masked by default — click show to reveal it while you're editing.
username and avatar_urlOverride the name and avatar shown on this message, without changing the webhook's saved defaults. Leave either blank to use the webhook's own name and picture.
messageThe plain text content of the message. Discord's limit is 2000 characters — the counter under the field tracks this as you type.
Turn on Add an embed to attach a formatted card below the message text — useful for announcements, patch notes, or anything that benefits from a title and a colored accent bar.
The preview panel updates as you type, using the same layout Discord renders.
A profile is a saved snapshot of the whole form — webhook URL, username, avatar, message, and embed — under a name you choose.
Fill in the form the way you want it, type a name into the profile name field, and click Save profile.
Pick it from the dropdown at the top of the request panel. This replaces everything currently in the form.
Select it from the dropdown, then click Delete.
localStorage, in this browser, on this device. They aren't synced anywhere, and clearing your browser data will remove them.
Open the Settings panel from the top bar to change how sending behaves.
Reset settings restores all three to their defaults and clears any remembered URL.
webhook-lab has no backend and no analytics. When you click send, your browser makes one request directly to Discord's API — the payload never passes through any server of ours.
The only things saved anywhere are the ones you explicitly ask it to save: a named profile, or a remembered webhook URL with that setting turned on. Both live in localStorage and stay on your device.
Webhook URLs follow this shape:
Double check you copied the full URL, including the token after the second slash.
Discord returns details in the response body when something's wrong — the response panel shows this verbatim. Common causes:
This usually means the request never left your browser — check that the URL is typed correctly and that nothing (a browser extension, a network policy) is blocking requests to discord.com.