Free tool — no login required

Discord Embed Builder

Build a Discord embed visually with live preview. Set title, color, fields, images, and footer — copy the webhook-ready JSON and paste it into your bot or webhook.

Discord preview
Welcome to the server!
Read the rules, pick your roles, and say hi in #general 👋
📋 Rules
Read them in #rules
🎮 Channels
Browse the categories
VibeBot • Auto-generated
Webhook JSON — paste in your bot or POST to a webhook URL
{
  "embeds": [
    {
      "title": "Welcome to the server!",
      "description": "Read the rules, pick your roles, and say hi in #general 👋",
      "color": 5793266,
      "footer": {
        "text": "VibeBot • Auto-generated"
      },
      "fields": [
        {
          "name": "📋 Rules",
          "value": "Read them in #rules",
          "inline": true
        },
        {
          "name": "🎮 Channels",
          "value": "Browse the categories",
          "inline": true
        }
      ]
    }
  ]
}

FAQ

How do I send the JSON to a Discord webhook?

POST the JSON to your webhook URL with Content-Type: application/json. From a terminal: curl -X POST -H "Content-Type: application/json" -d @embed.json YOUR_WEBHOOK_URL. From code: fetch(url, { method: "POST", headers, body: JSON.stringify(json) }). The webhook URL comes from your channel's Integrations → Webhooks settings.

What's the difference between embed.color as a hex string and as a number?

Discord's API expects an INTEGER for embed.color (e.g., 5793266 for blurple), NOT a hex string like "#5865F2". This builder converts your hex picker selection to decimal automatically. discord.js's EmbedBuilder.setColor() accepts either; the raw API does not.

Why isn't my image showing up?

Three common causes: (1) URL is not publicly accessible — Discord can't fetch images from localhost or private storage. (2) URL doesn't end in a recognizable image extension (.png/.jpg/.gif/.webp). (3) The host blocks Discord's image proxy via CORS or User-Agent rules. Test the URL by pasting it into a browser; if you can see the image, Discord usually can too.

How many fields can I add to an embed?

Discord caps embeds at 25 fields per embed, with field name max 256 chars and field value max 1024 chars. Total embed size (title + description + all fields + footer + author) max 6000 chars. The builder enforces these limits as you type.

How do "inline" fields work?

Inline fields sit side-by-side instead of stacking vertically. Up to 3 inline fields fit per row on desktop, fewer on mobile. Useful for displaying paired info (Name | Value, Stats grid, key-value pairs). Mix inline and non-inline fields for layout control — non-inline fields force a line break.

Want this embed in a working bot?

Build a Discord bot that sends embeds like this on schedule, in response to commands, or when events happen. No code, deploy in 30 seconds.

Build my Discord bot