Create OG tags for social sharing
og: tags.| Tag | Required? | Notes |
|---|---|---|
og:title | Yes | The headline in the card. Keep under about 60 characters. |
og:type | Yes | website, article, product, video.other and others |
og:image | Yes | Absolute HTTPS URL. Relative paths silently fail. |
og:url | Yes | The canonical URL. Shares of variants collapse onto this. |
og:description | Recommended | Two lines of context. Under about 155 characters. |
og:site_name | Recommended | Your brand, shown above or below the title |
og:locale | Optional | Such as en_IN; defaults to en_US |
og:image:width / :height | Recommended | Lets the platform reserve space before the image loads |
og:image:alt | Recommended | Accessibility, and it is read by some screen readers in feeds |
article:published_time | For articles | ISO 8601 datetime |
article:author | For articles | URL or name |
| Tag | Value | Notes |
|---|---|---|
twitter:card | summary_large_image | The wide card. Use summary for the small square one. |
twitter:title | Text | Falls back to og:title if absent |
twitter:description | Text | Falls back to og:description |
twitter:image | Absolute URL | Falls back to og:image |
twitter:site | @handle | The publisher account |
twitter:creator | @handle | The author account |
| Platform | Recommended size | Aspect ratio | Notes |
|---|---|---|---|
| Facebook, LinkedIn | 1200 × 630 | 1.91:1 | The de facto standard. Minimum 200×200. |
| X / Twitter (large card) | 1200 × 628 | 1.91:1 | Under 5 MB; PNG, JPEG, WEBP or GIF |
| 1200 × 630 | 1.91:1 | Also renders a small square thumbnail; keep the file under 300 KB or it may be skipped | |
| Slack, Discord | 1200 × 630 | 1.91:1 | Both read standard Open Graph |
| 1000 × 1500 | 2:3 | Vertical performs far better in the feed | |
| Telegram | 1200 × 630 | 1.91:1 | Caches aggressively |
All of them belong in the <head>, as <meta property="og:..." content="...">. Note that Open Graph uses property, not name — Twitter card tags use name. Getting the attribute wrong is the single most common reason a tag is silently ignored. Crawlers also fetch pages without executing JavaScript, so tags injected client-side by a single-page app will not be seen. They must be in the server-rendered HTML.
?v=2 forces a fresh scrape.facebookexternalhit will produce a bare link with no card, which looks identical to a missing tag.og:title → most platforms fall back to the <title> element.og:description → the <meta name="description"> is used.og:image → the platform picks an image from the page, usually badly. Always set it explicitly.og:url → the shared URL is used verbatim, so UTM parameters and tracking junk end up as the canonical share target.1200 by 630 pixels, a 1.91:1 ratio, is the standard that works across Facebook, LinkedIn, WhatsApp, Slack and X. Keep the file under 5 MB, and under about 300 KB if WhatsApp previews matter.
og:title, og:type, og:image and og:url. Everything else, including og:description, is optional — though a card without a description looks unfinished.
The four usual causes are a relative rather than absolute image URL, tags injected by JavaScript that the crawler never runs, a platform cache holding an old scrape, and a bot rule at your CDN blocking the platform’s crawler. Check the last one with a request using the facebookexternalhit user agent.
Not strictly — X falls back to Open Graph for title, description and image. You do need twitter:card set to summary_large_image if you want the wide card rather than the small square one.
property. Open Graph is an RDFa vocabulary, so it is meta property="og:title". Twitter card tags use meta name="twitter:card". Mixing them up is why tags are often ignored without any error.
Everything on this page runs in your browser — nothing you type is uploaded or stored.
Short, exact answers to the questions people ask alongside this tool — the number first, then the working.
For teams, not just visitors
We build the calculators on SnoopTool as embeddable widgets in your branding, wired to your own lead form — the same maths, your colours, your domain, your leads. Tell us which one and we will send back a working demo you can put in front of your team.
Thanks — we have it, and you will get a reply from a person within one business day. Meanwhile every tool on SnoopTool stays free, with no signup.