DWEEB
🎨 Embed builder

Discord Embed Builder

Design embed-style Components V2 messages visually, or paste a webhook payload containing legacy embeds and convert it — with a measured, high-fidelity preview and webhook delivery built in.

No account required for the core builder. Nothing posts until you confirm it.

The embed look, built on Discord's current layout system

A classic Discord embed is a colored card: accent stripe, title, description, thumbnail, image, fields and footer. DWEEB builds that same visual identity with Discord's Components V2 — a Container carries the accent color, Sections pair text with a thumbnail, Media Galleries hold the artwork — and shows the result in a live preview measured against the real Discord client.

The difference is what you gain: real headings and subtext, multiple media blocks, separators, and buttons or select menus in the same card. You design the message visually; DWEEB produces the JSON Discord actually accepts and sends it through your webhook when you confirm.

Everything an embed did, and where it goes now

Everything an embed did, and where it goes now
Classic embed partModern equivalent in the builderWhat improves
Accent color stripeContainer accent colorFamiliar stripe, same hex value
Title + URLHeading text (optionally linked)Three heading sizes instead of one
DescriptionText DisplayFull markdown including subtext and lists
ThumbnailSection with a thumbnail accessoryText wraps beside it deliberately
Large imageMedia GalleryUp to 10 items with spoiler support
Fields gridStacked Text DisplaysReadable on mobile instead of a cramped grid
Footer + timestampSubtext line or dynamic timestamp tokenTimestamps render in each reader's timezone
— (not possible)Buttons and select menus in the cardLink buttons work on any webhook

Already have embed JSON? Paste it

The JSON panel accepts a legacy content-plus-embeds payload and converts it into editable Components V2, with a conversion report that names every field that cannot map exactly — polls, stickers, inline field grids, provider video. Nothing is silently dropped, and you can adjust the converted layout visually before sending.

  • Import a webhook payload containing an embeds array
  • Keep the accent color, title, description, thumbnail, image and footer text
  • Get warnings for anything with no modern equivalent before you apply
  • Export the converted JSON, or send it directly through a webhook

Embed limits vs Components V2 limits

The editor tracks both budgets for you: imports are validated as embeds, and everything you build afterwards is validated against the Components V2 ceilings before send.

Embed limits vs Components V2 limits
ConstraintClassic embedsComponents V2 in DWEEB
Text budget6,000 characters across all embeds4,000 characters across all text fields
Structure cap10 embeds, 25 fields each40 components, 10 top-level blocks
Interactive controlsNone on the embed itselfButtons and selects in the same card
Validation in DWEEBChecked on importEnforced live while you edit

Free, local by default, no account for the core builder

The embed builder is the same core DWEEB editor: free for noncommercial use, no account required, and your working draft stays in the browser by default. Send through any pasted incoming webhook or a connected server and channel — nothing posts until you review and confirm it. Interactive components need an app-owned destination, and the builder labels that requirement before you commit to it.

Frequently asked questions

What is a Discord embed?

An embed is the coloured card Discord renders instead of plain text: an accent stripe down the left, a title, a description, an optional thumbnail and large image, a grid of fields and a footer. Only webhooks and apps can send one — the normal message box cannot.

Does this builder produce embed JSON or Components V2?

It does not export a native classic-embed payload. It builds the embed's visual identity with Components V2 and sends that. A webhook payload containing an embeds array can be pasted and converted, and the resulting V2 message can be exported as JSON at any point.

What happens to my old embed JSON when I import it?

The accent colour, title, description, thumbnail, image and footer text carry across into editable Components V2 blocks. Anything with no exact modern equivalent — inline field grids, polls, stickers, provider video — is named in a conversion report rather than silently dropped, so you can decide what to do with it before applying.

Do I need a bot to send an embed?

No. Any incoming webhook URL will post an embed-style card, including its images and link buttons. A bot or application-owned webhook is only needed once a button or select menu has to respond to a click.

Can I put buttons inside an embed?

Not in a classic embed — Discord attaches components beside a legacy embed rather than inside it. In Components V2 the buttons and select menus sit in the same container as the text and media, which is one of the main reasons to build the card this way.

How much text fits in one message?

Classic embeds share a 6,000-character budget across all embeds in a message. A Components V2 message has a 4,000-character budget across every text field, and the builder counts against it live so you know before you send rather than after Discord refuses it.

Documentation and testing

Learn or start from a proven design

Build the message now

Use the visual editor free, or start from an editable Components V2 template.

Open DWEEB →