Discord Embed Builder

Build a Discord message with rich embeds, see it as it will look in chat, and copy the webhook JSON or discord.py code. Limits are checked as you type.

Preview
Embed text:

Your code

📥 Import JSON
🚀 Send to a webhook (optional)

🔑 A webhook URL is a secret. Anyone who has it can post in your channel. When you press Send, your browser posts the JSON above straight to Discord. The URL is sent only to Discord, is never sent to ToolsCloset and is not saved: it is gone when you close or reload this page.

🔒 The builder runs in your browser. Nothing you type is sent anywhere unless you press Send, and images are only fetched if you tick “Load images in preview”.

🔒 Everything you type stays in your browser. Nothing is sent to a server.

By Shah Rukh, software developer · Last updated:

How to use the Discord embed builder

  1. Type your message content, or leave it empty if you only want an embed.
  2. Fill in the embed: a title, a description and, if you like, an author, fields, images and a footer. The preview on the right updates as you type.
  3. Pick the colour of the bar on the left edge of the embed.
  4. Press Add embed if you need more than one. A message can hold up to 10.
  5. Copy or download the Webhook JSON, or switch to the discord.py tab for code you can paste into a bot.

What each part of an embed is

PartWhat it doesLimit
ContentNormal message text above the embeds. Mentions only ping people from here.2,000 characters
AuthorSmall line at the top with an optional icon and link.256
TitleBold heading. Becomes a link if you add a title link.256
DescriptionThe main text. Supports Discord markdown.4,096
FieldsName and value pairs. Inline fields sit side by side, up to three in a row.25 fields; name 256, value 1,024
ThumbnailSmall image in the top right corner.One URL
ImageLarge image under the text.One URL
FooterSmall grey text at the bottom, with an optional icon.2,048
TimestampA date shown beside the footer, converted to each reader’s own time zone.One per embed

On top of these, the title, description, field names and values, footer and author name of all embeds in one message may not add up to more than 6,000 characters. The builder counts this for you and lists every problem under the preview, so you can fix it before Discord rejects the message.

Markdown you can use

The preview renders the common Discord formatting: **bold**, *italic*, __underline__, ~~strikethrough~~, `inline code` and links. Inside descriptions and field values you can also write a named link as [text](https://example.com). The preview is a close imitation, not the real Discord client, so spacing and fonts will differ slightly. Lists, headings, spoilers and custom emoji are sent to Discord correctly but are shown as plain text here.

A worked example

Say you run a study server and want to announce a quiz. Put @everyone Quiz night is back! in the content, set the title to Friday Quiz, write the rules in the description, and add two inline fields, Starts and Prize. Choose a green bar, add the footer See you there and press Copy. The JSON begins like this:

{
  "content": "@everyone Quiz night is back!",
  "embeds": [
    {
      "title": "Friday Quiz",
      "color": 5763719,
      "fields": [
        { "name": "Starts", "value": "8 pm", "inline": true }
      ]
    }
  ]
}

Notice that the colour is a plain number. Discord stores colours as a decimal integer, so #57F287 becomes 5763719. The builder converts it both ways.

Sending it

To create a webhook, open your channel’s settings in Discord, go to Integrations, create a webhook and copy its URL. You can then paste the URL into the Send box on this page, or send the downloaded file yourself from a terminal:

curl -H "Content-Type: application/json" -d @discord-message.json "YOUR_WEBHOOK_URL"

Treat the webhook URL like a password. Do not paste it into public code, screenshots or chats. If it leaks, delete the webhook in Discord and create a new one.

The name and avatar overrides only work for webhooks. A bot always posts under its own name, which is why the discord.py code leaves them out of channel.send.

Tips and limits

Want a bot that posts embeds by itself? Try the Discord Bot Maker or the Discord Welcome Bot, and read how to make a Discord bot if you are starting from zero.

Frequently asked questions

What is a Discord embed?

An embed is a boxed block inside a Discord message with a coloured bar on its left edge. It can hold a title, description, fields, images, a footer and a timestamp. Only bots and webhooks can send custom embeds; ordinary accounts cannot.

Is my webhook URL safe here?

The URL is only used if you press Send. Your browser then posts the message directly to Discord. The URL is not sent to this site and is not saved, so it disappears when you reload the page. It is still a secret, so never share it publicly.

Why does Discord reject my embed?

The usual causes are a text limit being exceeded, a field that is missing its name or value, an image link that does not start with http or https, or all embeds together passing 6,000 characters. The builder lists these problems under the preview.

How many embeds can one message have?

Up to 10 embeds per message, each with up to 25 fields. The combined text of all embeds in the message must stay within 6,000 characters.

Can I use the code in my discord.py bot?

Yes. The discord.py tab builds the same embeds with discord.Embed, add_field, set_author, set_footer and the other standard methods. Paste it into a command or event and send it with channel.send.

Does the preview look exactly like Discord?

It is a close imitation of Discord’s dark theme, not the real client. Basic markdown and the layout of inline fields are shown, but fonts, spacing and some features such as custom emoji differ slightly.

Related tools

🤖

Telegram Bot Maker

Build a Telegram bot without coding. Download ready-to-run Python.

🧩

Chrome Extension Maker

Make a site blocker, new tab page or link popup extension. No code.

🟢

WhatsApp Link Generator

Make a wa.me chat link with a message, QR code and button.

🔏

Privacy Policy Generator

Answer a few questions and get a privacy policy template.

📜

Terms & Conditions Generator

Tick the sections you need and get a terms and conditions template.

🤖

Robots.txt Generator

Build and test a robots.txt file for your site.

See all Generators & Builders →