Open Graph Generator
Social cards for articles, products, videos, profiles — with a 7-platform live preview and URL debugger
Generate Open Graph tags tailored to your content type — pick article, product, video.movie, book, profile, or music.album and the form unlocks every property that type actually supports. Live previews on Facebook, Twitter / X, LinkedIn, Discord, Slack, WhatsApp, and iMessage. Paste any URL into the debugger to inspect its existing tags. Output as HTML, Next.js, Nuxt, Astro, Gatsby, SvelteKit, or Remix.
Landing pages, marketing sites, general web pages.
Facebook truncates after ~110 characters.
Live social card previews
How your link will look on each platform. Updates live as you edit.
Generated codePlain HTML
<!-- Open Graph --> <meta property="og:type" content="website" /> <meta property="og:locale" content="en_US" /> <!-- Twitter Card --> <meta name="twitter:card" content="summary_large_image" />
OG card debuggercheck existing tags
Paste any URL — we fetch the page server-side (no CORS) and show every og:* and twitter:* tag it currently uses. Then load the result into the form to fix or rebuild.
How this differs from Facebook's Sharing Debugger:we never warm Facebook's cache. If you've just updated your OG tags, also run them through Facebook's tool to refresh their CDN.
Related SEO tools
Start from a template
Click a template to fill the form with realistic example data for that content type — useful for benchmarking what tags each og:type needs.
Open Graph Reference
Image specs for every major platform, the full set of properties for each og:type, and how social-card scrapers actually consume your tags.
Image specs by platform
Sizes accepted in 2026. Aim for the canonical 1200×630 — it works everywhere, gets cropped least, and survives most platform UI changes.
| Platform | Recommended | Min | Aspect | Notes |
|---|---|---|---|---|
| 1200 × 630 | 600 × 315 | 1.91:1 | Below 600px wide downgrades to a small thumbnail card. | |
| Twitter / X — summary_large_image | 1200 × 675 | 300 × 157 | 16:9 (1.91:1 also fine) | Less than 5MB. JPG, PNG, GIF, WebP all accepted. |
| Twitter / X — summary | 144 × 144 | 144 × 144 | 1:1 square | Use when you don't have a strong landscape image. |
| 1200 × 627 | 200 × 200 | 1.91:1 | Below 200×200 disables card rendering entirely. | |
| Discord | 1280 × 720 | — | 16:9 | Discord renders a richer preview if a theme-color is set too. |
| Slack | 1200 × 630 | — | 1.91:1 | Slack caches preview images for hours — paste a modified URL to refresh. |
| 1200 × 630 | 300 × 200 | 1.91:1 or 1:1 | Falls back to og:image, then a square crop. No way to invalidate cache. | |
| iMessage (iOS) | 1200 × 630 | — | 1.91:1 | Also reads oEmbed if available. Caches for days. |
Full property set by og:type
og:type=article
article:author— profile URL or name (repeatable)article:published_time— ISO 8601 datetimearticle:modified_time— ISO 8601 datetimearticle:section— high-level category like “Engineering” or “Sports”article:tag— repeatable, one per keyword
og:type=product
product:price:amount+product:price:currency— currency is ISO 4217 (USD, EUR, GBP…)product:availability—in stock,out of stock,preorder,discontinuedproduct:condition—new,used,refurbishedproduct:brand— brand nameproduct:retailer_item_id— your internal SKU
og:type=video.movie / video.episode / video.other
video:actor,video:director,video:writer— repeatablevideo:duration— seconds (integer)video:release_date— date (YYYY-MM-DD) or datetimevideo:tag— repeatable
og:type=book
book:author— repeatablebook:isbn— ISBN-10 or ISBN-13book:release_date— datebook:tag— repeatable
og:type=profile
profile:first_name,profile:last_nameprofile:usernameprofile:gender
og:type=music.song / music.album
music:musician— profile URLmusic:album— album page URL (for music.song)music:song— song page URL (for music.album)music:duration— secondsmusic:release_date— date
How social-card scrapers actually work
They are not browsers
Most scrapers (Facebook, Slack, LinkedIn, WhatsApp) do not run JavaScript. They fetch the HTML once and parse the <head>. If your meta tags are injected client-side by React or Vue after hydration, the scraper will not see them. Server-render your meta tags.
They cache aggressively
Once a URL is scraped, the preview is cached for hours to days. Facebook's Sharing Debugger can force a re-scrape. LinkedIn has a Post Inspector. Slack, Discord, WhatsApp, and iMessage have no public refresh tool — append a query parameter (?v=2) to bust the cache.
They have user-agent quirks
Facebook's scraper user-agent is facebookexternalhit. Slack is Slackbot-LinkExpanding. Some sites accidentally block these in their robots.txt or WAF — make sure your CDN and firewall allow them.
They prefer absolute URLs
Always set og:image and og:url to absolute https:// URLs. Relative paths fail on many scrapers. Use a CDN URL that does not require auth.
Twitter falls back to OG, with overrides
Twitter / X reads og:title, og:description, og:image as fallbacks. Use twitter:title, twitter:description, twitter:image only when you want different content on Twitter than on Facebook. twitter:card and twitter:site / twitter:creator are Twitter-specific and have no OG equivalent.
Official debuggers and validators
- Facebook Sharing Debugger — developers.facebook.com/tools/debug — also refreshes the cache after you update tags
- LinkedIn Post Inspector — linkedin.com/post-inspector
- Twitter Card Validator — retired in 2023; use the inline preview here or post a test link to a private account.
- Slack message preview — paste the URL into a private channel; Slack will fetch immediately.
Frequently Asked Questions
Common questions about Open Graph types, social card previews, the debugger, and how each platform renders the card.