Make a Discord embed image
Discord’s link unfurl is just Open Graph with a darker frame and a slightly more aggressive crop. There is no special discord:image tag. You still make a 1200×630 PNG and hang it off og:image. This page is that file, with a notice layout that survives the dark theme.
Template properties
The copy and marks on the card. Files stay on this device.
Background
Gradient or solid, then direction, grid and grain.
Gradient direction
1200×630 · Discord link embeds
How it works
- 1Write the one line a person will see above the fold in a busy channel — shorter than an OG title — and pick a dark background so the embed does not flash on Discord’s UI.
- 2The notice layout is the default here: type sits in a quiet panel that still reads after Discord draws its own frame around the PNG.
- 3Download the 1200×630 file, host it, set og:image on the page, and paste the public URL into a test channel to confirm the unfurl before you ship.
The size, honestly
Same pixels as the generic OG card, different constraint: Discord sits on a #313338 (or darker) background and will make a paper-white card look like a flashlight. I default this page to ink and the notice layout so the embed looks like it belongs in the channel. If the link is going to Slack or iMessage as well, design it once on Generate an Open Graph image in a background that works on light and dark. Facebook’s debugger is still the worse cache — use Facebook OG Image Maker when that is the fight.
| Canvas | 1200×630 px |
|---|---|
| Ratio | 1.91∶1 |
| Used by | Discord link embeds |
| Export | PNG, composed in this tab |
Frequently asked questions
No — that is the whole reason I built this. The conversion runs in your browser using WebAssembly, so your files never leave your device; there is no server in the loop at all. It also means the tool keeps working offline once the page has loaded, and there is no file size limit beyond your device’s memory.
Discord consumes og:image. 1200×630 is the size that fills the large embed without letterboxing. A tall image becomes a narrow column; a tiny image gets a small thumbnail on the right of the embed. If you want the big preview, export 1200×630 and set og:image. There is no discord-specific meta tag.
They both read og:image, but they cache independently and they pick a fallback img if og:image 404s. Discord also sometimes prefers twitter:image when both are set and they disagree. Point both tags at the same PNG. Then in Discord, paste the link, wait, and if it is stale, add a query string — Discord’s unfurl cache is not publicly purgeable.
The pixels, yes. A bot embed’s image.url is just a URL to a PNG; this tool will make that PNG. What this page does not do is send the message — there is no webhook, no token, and I will not add one. Host the file, put the URL in the embed payload yourself. Same privacy rule as the rest of the site: the image never visits my server.
A GIF or animated WebP in og:image usually plays in Discord. I still export a still PNG here, because an animated card that looks fine in a channel is a liability on Slack, iMessage and every crawler that takes frame one. Animate after, if you must, and keep a still PNG as og:image for everyone else.
A light-gray card on Discord’s dark background is a flashlight. Use the ink or aurora background on this page, or a photo that already sits in a dark grade. The notice layout adds a faint inner panel so the type still reads when Discord draws its own frame around the image.
No. Server icons are 512×512, invite splashes and discovery covers are different again, and a bot avatar is a square. This page is only the large image on a pasted URL. Using a 1200×630 file as a server icon will just get center-cropped into a circle and look accidental.
Related tools
Generate an Open Graph image
Make a 1200×630 Open Graph PNG in your browser — free, no upload. Title, logo and background stay on the device; download the file when it looks right.
Make a Facebook Open Graph image
Design a 1200×630 Facebook share image in your browser. No upload — Facebook’s Debugger caches, this page does not. Download a PNG and host it yourself.
Make a Twitter card image
Compose a 1200×628 X / Twitter summary_large_image in your browser. No upload, no account — type, logo and photo stay on the device until you download the PNG.
Make a LinkedIn share image
Build a 1200×627 LinkedIn link preview in your browser. No upload, no signup — export a PNG, host it, and let LinkedIn’s Post Inspector fetch the public URL.