Migrating from embeds
Does your bot use embeds? This table tells you which V2 component matches each part of an embed.
Equivalents
Section titled “Equivalents”| Embed (legacy) | Components V2 |
|---|---|
content |
Text Display outside the container |
embeds[0] |
Container |
color |
The Container’s accent_color |
author |
Text Display with -# (small text) |
title + url |
Text Display with ## [Title](url) |
description |
Text Display |
fields |
Several Text Displays, or one Text Display with **Name** + value |
thumbnail |
Section with a Thumbnail as accessory |
image |
Media Gallery with 1 item |
footer + timestamp |
Text Display with -# and <t:seconds:R> |
| Button rows at the bottom | Action Row inside or outside the Container |
Example: before and after
Section titled “Example: before and after”Before (embed)
Section titled “Before (embed)”{ "content": "New video!", "embeds": [ { "color": 15548997, "author": { "name": "Ana's Channel" }, "title": "How to build a bot in 10 minutes", "url": "https://example.com/video", "description": "Learn how to build your first Discord bot from scratch.", "thumbnail": { "url": "https://cdn.discordapp.com/embed/avatars/0.png" }, "image": { "url": "https://example.com/cover.png" }, "footer": { "text": "Posted" }, "timestamp": "2026-11-02T12:00:00.000Z" } ], "components": [ { "type": 1, "components": [ { "type": 2, "style": 5, "label": "Watch video", "url": "https://example.com/video" } ] } ]}After (Components V2)
Section titled “After (Components V2)”{ "flags": 32768, "components": [ { "type": 10, "content": "New video!" }, { "type": 17, "accent_color": 15548997, "components": [ { "type": 9, "components": [ { "type": 10, "content": "-# Ana's Channel" }, { "type": 10, "content": "## [How to build a bot in 10 minutes](https://example.com/video)\nLearn how to build your first Discord bot from scratch." } ], "accessory": { "type": 11, "media": { "url": "https://cdn.discordapp.com/embed/avatars/0.png" } } }, { "type": 12, "items": [ { "media": { "url": "attachment://banner.png" } } ] }, { "type": 10, "content": "-# Posted <t:1793620800:R>" }, { "type": 1, "components": [ { "type": 2, "style": 5, "label": "Watch video", "url": "https://example.com/video" } ] } ] } ]}Checklist
Section titled “Checklist”- Add
"flags": 32768(or add it to the flags you already use). - Remove
contentandembeds: move them to Text Display and Container. - If you displayed attachments, add File or Media Gallery components pointing to
attachment://name. - Make sure you don’t exceed 40 components in total.
- Move buttons where they make the most sense: they can now go inside the container or next to some text (Section).
