You want to send a message through a Discord webhook and include an embed with a custom author icon. Discord’s webhook API allows you to set an author.icon_url field in the embed object, but the icon may not appear if the URL is not accessible or the webhook does not have the correct permissions. This article explains how to construct the JSON payload correctly, what URL formats work, and how to troubleshoot when the icon does not display. You will learn the exact JSON structure, the required fields, and common mistakes that prevent the icon from loading.
Key Takeaways: Discord Webhook Embed Author Icon Setup
- Embed JSON structure with
authorobject: Includename,url, andicon_urlfields for the author section. - Direct image link required for
icon_url: Use a publicly accessible HTTPS image URL ending in .png, .jpg, .gif, or .webp. - Discord CDN or reliable hosting: Icons from Discord CDN or trusted image hosts work best; avoid links that require authentication or redirect.
How Discord Webhook Embeds Handle the Author Icon
A Discord webhook sends a JSON payload to a channel via a unique URL. When you include an embed in that payload, you can define an author object with three optional fields: name (the author name displayed above the embed), url (a clickable link for the author name), and icon_url (a small image shown next to the author name). The icon_url must point to a direct image file hosted on a server that Discord can reach. Discord caches the image after the first fetch, so changes to the image file may require a new URL or a cache clear. The icon size is 40×40 pixels; Discord resizes larger images automatically. You do not need special permissions on the webhook itself, but the image host must not block Discord’s user-agent or require cookies.
Prerequisites for Using a Custom Author Icon
Before you send a webhook with a custom author icon, confirm these items:
- You have a Discord webhook URL from a channel in a server where you have “Manage Webhooks” permission or are the server owner.
- You can send HTTP POST requests to that URL using a tool like cURL, Postman, or a programming language (Python, JavaScript, etc.).
- The image you want to use is hosted at a public HTTPS URL. Discord does not accept HTTP URLs for
icon_url. - The image file is in a supported format: PNG, JPEG, GIF (static or animated), or WebP. Animated GIFs will not animate in the author icon; they appear as a static frame.
Steps to Send a Webhook with a Custom Embed Author Icon
Follow these steps to create and send a webhook payload that includes an embed with a custom author icon. The example uses cURL, but the JSON structure is identical for any HTTP client.
- Obtain the webhook URL
Open Discord and go to Server Settings > Integrations > Webhooks. Click “New Webhook” or select an existing one. Copy the webhook URL. It looks likehttps://discord.com/api/webhooks/1234567890/abcdef. - Prepare the image URL
Upload your image to a reliable image host such as Imgur, Discord CDN (by uploading to a channel and copying the link), or your own server. Ensure the URL starts withhttps://and ends with a file extension. Example:https://i.imgur.com/example.png. - Construct the JSON payload
Create a JSON object with aembedsarray. Inside each embed object, include anauthorobject withname,url, andicon_url. Theurlfield is optional but recommended if you want the author name to be a clickable link. Example payload:{
"embeds": [
{
"author": {
"name": "Support Team",
"url": "https://example.com/support",
"icon_url": "https://i.imgur.com/example.png"
},
"title": "Important Update",
"description": "This is a test embed with a custom author icon."
}
]
} - Send the POST request
Use cURL in a terminal or command prompt:curl -X POST -H "Content-Type: application/json" -d '{"embeds":[{"author":{"name":"Support Team","url":"https://example.com/support","icon_url":"https://i.imgur.com/example.png"},"title":"Important Update","description":"Test embed"}]}' YOUR_WEBHOOK_URL
ReplaceYOUR_WEBHOOK_URLwith the actual URL you copied. - Verify the embed in Discord
Check the channel where the webhook posts. You should see the embed with the author icon next to the author name. If the icon does not appear, proceed to the troubleshooting section.
Common Reasons the Author Icon Does Not Display
If the author icon is missing after you send the webhook, one of these issues is likely the cause.
Image URL Uses HTTP Instead of HTTPS
Discord blocks HTTP image sources for security reasons. Ensure your icon_url starts with https://. If you are using an image from a site that only serves HTTP, rehost the image on a service that supports HTTPS.
Image URL Does Not Point Directly to the Image File
Some hosting services provide a page URL rather than a direct image link. For example, a Dropbox share link or a Google Drive link does not work. The URL must end with an image file extension or serve the raw binary data with the correct Content-Type header. Use a service like Imgur, Discord CDN, or a dedicated image host that provides direct links.
Webhook Payload Has a Syntax Error
A missing comma, extra brace, or incorrect field name can cause the entire embed to fail. Validate your JSON with a linter before sending. The author object must be inside an embed object, which must be inside the embeds array. The icon_url field name must be written exactly as icon_url — not iconUrl or icon-url.
Image Host Blocks Discord’s Fetch Request
Some image hosts have hotlink protection or block requests from unknown user-agents. Discord’s image fetcher uses a specific user-agent string. If the host returns a 403 Forbidden or a redirect to a captcha page, the icon will not load. Test the URL in a browser’s incognito mode. If it loads without issues, the host likely allows Discord’s fetcher. If it redirects or shows an error, choose a different host.
Image Is Too Large or Unsupported Format
Discord accepts images up to 256 KB for embed icons. Larger files may be silently ignored. Also, ensure the file format is PNG, JPEG, GIF, or WebP. SVG and BMP files are not supported.
Discord Webhook Embed Author Icon: Direct Link vs Hosted on Discord CDN
| Item | Direct Image Link (e.g., Imgur) | Discord CDN Link |
|---|---|---|
| URL format | https://i.imgur.com/abc123.png | https://cdn.discordapp.com/attachments/…/filename.png |
| Reliability | Good, but may be blocked in some regions | Excellent, hosted on Discord’s own servers |
| Ease of obtaining URL | Upload to image host, copy direct link | Upload image to any Discord channel, copy attachment link |
| Caching behavior | Depends on host; changes may not reflect immediately | Discord caches aggressively; may take hours to update |
| Supported formats | PNG, JPEG, GIF, WebP | PNG, JPEG, GIF, WebP |
You can now send a Discord webhook with a custom embed author icon by using the correct JSON structure and a direct HTTPS image URL. If the icon does not appear, check the URL format, image host restrictions, and payload syntax. For advanced use, consider hosting the icon on Discord’s own CDN for maximum compatibility. A practical next step is to experiment with adding multiple embeds in the same webhook message, each with a different author icon, by including multiple objects in the embeds array.