Generate an Open Graph image
Every unfurl — Slack, iMessage, a link in an email — reads og:image. The size they all agreed on is 1200×630. I built this so you can compose that PNG in the tab, keep the pixels on the device, and skip the “paste your URL, we will screenshot it” sites.
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 · Slack, iMessage, WhatsApp, most crawlers
How it works
- 1Type the title you want the unfurl to say out loud — one claim, not the whole meta description — and add a logo if the brand has to survive at 200 pixels wide.
- 2Pick a layout (centered, hero, split, notice) and a background. Toggle the safe-zone overlay and keep type inside the dashed rectangle; crawlers crop the rim.
- 3Download the 1200×630 PNG, host it at a stable HTTPS URL, and point og:image (plus og:image:width / og:image:height) at that file.
The size, honestly
A screenshot of the page is the usual shortcut, and it is the wrong one: crawlers crop aggressively, UI chrome survives, and type that was readable at 1440px becomes mud at 600. A purpose-built 1200×630 card is the file the protocol actually asked for — one title, one idea, no browser chrome. If the destination is X, Twitter Card Image Maker is the tighter crop; Facebook’s crawler is pickier about cache, so Facebook OG Image Maker is the page I keep for that fight.
| Canvas | 1200×630 px |
|---|---|
| Ratio | 1.91∶1 |
| Used by | Slack, iMessage, WhatsApp, most crawlers |
| 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.
1200×630 pixels, a 1.91∶1 ratio. That is the size Facebook documented years ago and the one Slack, iMessage, LinkedIn and WhatsApp still consume. Smaller files get upscaled and look soft; a 1920×1080 screenshot gets cropped through the middle. Export at 1200×630 and stop.
Usually no — one 1200×630 PNG covers og:image and most large cards. X’s summary_large_image is 1200×628 (two pixels shorter). LinkedIn is 1200×627. Those pages exist because people search for the network by name, not because you must export three files. One PNG, referenced from og:image, is enough for almost every share.
PNG if the card has type, a logo or a flat background — the edges stay crisp and the file still lands well under a megabyte. JPG only when the whole card is a photograph; at quality 80 a photo-led card is often half the bytes. This tool always writes PNG because type-led cards are the common case, and you can convert the result with PNG to JPG if the photo really is the point.
They will if the HTML has <meta property="og:image" content="https://…/og.png"> pointing at a publicly reachable HTTPS URL, plus og:title and og:description. The file this tool gives you is only the pixels. Host it on your domain (or any static host), put the absolute URL in the tag, and the next unfurl will fetch it. Crawlers do not see localhost.
You should, for production pages that change with the route. next/og (Satori) is how this site builds its own tool cards. This page is for the other job: designing a one-off share image, a launch announcement, a card you will upload to a CMS. Server generation needs a deploy; this needs a download.
Yes. Platforms have added more surfaces, but the large-link preview is still 1.91∶1 and 1200×630 is still the documented source. Some apps letterbox or slightly crop the edges — that is why the safe-zone overlay exists. I would not go below 1200 on the long edge; I also would not export 4K and hope the crawler scales it kindly.
Related tools
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 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 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.
Make a Discord embed image
Design the 1200×630 image Discord shows when a link is pasted. Runs in the browser — no bot, no webhook, no upload. Download a PNG and point og:image at it.