Control how your links look when they're shared
Paste a link into WhatsApp, Slack, Facebook, LinkedIn or X, and a preview card materialises: image, title, description. That card isn't generated by magic — the platform reads Open Graph meta tags from your page, and when they're missing it guesses, badly: a random sidebar image, a truncated navigation string for a title, or the dreaded bare grey link nobody clicks. This generator produces the complete OG + Twitter Card block, so every share of your page looks deliberate.
How to generate the tags
- Enter your content's title and a one-to-two sentence description.
- Add the page URL and — critically — an image URL (1200×630 is the universal standard).
- Choose the content type and your preferred Twitter card style.
- Copy the generated block into your page's
<head>and test with a fresh share.
The image is 80% of the result
Cards are visual real estate, and the image dominates it. The reliable specification: 1200×630 pixels (1.91:1 ratio), under ~1 MB, served over HTTPS at an absolute URL — relative paths like /img/cover.jpg silently fail on most platforms. Put titles and faces in the centre; platform UIs nibble the edges. No dedicated image? A clean brand graphic outperforms a random screenshot every time. (Our Image Resizer crops to exactly 1200×630 if needed.)
OG and Twitter Cards: why both blocks
Open Graph began at Facebook and became the de-facto standard read by WhatsApp, LinkedIn, Slack, Discord, Telegram and most of the social web. X (Twitter) reads its own twitter:* tags first, falling back to OG when they're absent — but the fallback occasionally misfires, so emitting both is the professional belt-and-braces. The generator handles the duplication for you, including the summary_large_image card type that gives your link the big-image treatment instead of a thumbnail.
Testing and the cache trap
- Platforms cache aggressively. If you shared the URL before adding tags, the old (ugly) card may persist for days.
- Force a refresh with the platforms' debuggers: Facebook Sharing Debugger, LinkedIn Post Inspector, X Card Validator — each has a re-scrape button.
- WordPress users: paste the block into your theme header or a header-scripts plugin; per-page tags beat one global set.
- Check og:url matches the canonical — mismatched URLs split share counts.
Ten minutes of tags turn every future share of your page — by you or anyone else — into a small, well-dressed advertisement.
Quick reference
| Property | Detail |
|---|---|
| Generates | og:type, title, description, url, image (+dimensions), site_name + twitter:card set |
| Image spec | 1200×630 px, HTTPS, absolute URL, <1 MB |
| Read by | Facebook, WhatsApp, LinkedIn, Slack, Discord, Telegram, X… |
| Card types | Large image or compact summary |
| Placement | Inside , per page |
| Testing | Platform debuggers (re-scrape to bust cache) |
| Cost | Free, unlimited |
Frequently asked questions
Why doesn't my preview image show up?
The usual suspects: a relative image path (must be a full https:// URL), an image behind a login or robots block, a file over the platform's size limit, or simply the platform's cache showing the pre-tag version — run the URL through the platform's debugger and re-scrape.
What's the ideal Open Graph image size?
1200×630 pixels — the 1.91:1 ratio every major platform crops happily. Keep critical content centred and the file under a megabyte for fast unfurling.
Do I need different tags for every page?
Ideally yes — each article or product shares with its own title, description and image. A site-wide default block is the safety net; per-page tags are what make individual links compelling.
I updated my tags but the old card still appears. Why?
Platform caches. Facebook, LinkedIn and X all keep scraped previews for days. Their respective debugger tools each have a refresh/re-scrape function that updates the card immediately.