Discord Embed Builder
Design embed-style Discord messages visually, or paste existing embed JSON and convert it to Components V2 — with a pixel-accurate live 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
| Classic embed part | Modern equivalent in the builder | What improves |
|---|---|---|
| Accent color stripe | Container accent color | Identical look, same hex value |
| Title + URL | Heading text (optionally linked) | Three heading sizes instead of one |
| Description | Text Display | Full markdown including subtext and lists |
| Thumbnail | Section with a thumbnail accessory | Text wraps beside it deliberately |
| Large image | Media Gallery | Up to 10 items with spoiler support |
| Fields grid | Stacked Text Displays | Readable on mobile instead of a cramped grid |
| Footer + timestamp | Subtext line or dynamic timestamp token | Timestamps render in each reader's timezone |
| — (not possible) | Buttons and select menus in the card | Link 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 full webhook payload or a bare embed object
- 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.
| Constraint | Classic embeds | Components V2 in DWEEB |
|---|---|---|
| Text budget | 6,000 characters across all embeds | 4,000 characters across all text fields |
| Structure cap | 10 embeds, 25 fields each | 40 components, 10 top-level blocks |
| Interactive controls | None on the embed itself | Buttons and selects in the same card |
| Validation in DWEEB | Checked on import | Enforced 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.
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 →