Free Open Graph Preview
Preview how your link will appear on social media platforms.
Preview
Parse Existing OG Tags
Paste HTML source containing OG meta tags to extract and preview them.
About Open Graph
Open Graph (OG) meta tags control how your page appears when shared on Facebook, LinkedIn, Slack, Discord, and other platforms. Properly configured OG tags with a good title, description, and image can significantly increase click-through rates from social shares. The recommended OG image size is 1200x630 pixels.
What Open Graph Actually Is
The Open Graph protocol was created by Facebook in 2010 as a way to turn any web page into a "rich object" in a social graph, a structured set of metadata that other applications (originally Facebook, now also LinkedIn, Slack, Discord, Microsoft Teams, iMessage, WhatsApp, and dozens more) can read to render a preview card when someone pastes your URL. The official spec lives at ogp.me and the protocol has effectively become the lingua franca of link sharing on the web.
Without OG tags, social platforms scrape your page and guess: they pick a heading, grab the first image they can find, and call it a card. The result is rarely what you want. With OG tags you control the title, the description, and the image, which is the difference between a polished link and a broken-looking one.
The Four Required Tags (per ogp.me)
The official Open Graph spec defines four required properties. To qualify as an Open Graph object, a page must declare all four:
| Tag | What it does |
|---|---|
og:title | The title of your object as it should appear within the graph. |
og:type | The type of your object, usually website for general pages, article for blog posts, video.movie for film entries, etc. |
og:image | A URL to the image that should represent the object in the preview card. |
og:url | The canonical URL of the object, its permanent address on your site. |
Recommended optional tags include og:description (a one- or two-sentence summary), og:site_name (your site's name as a label), og:locale (language and region), and the image dimension hints og:image:width / og:image:height / og:image:alt. Including the dimension hints lets social clients pre-allocate the right amount of space and avoids layout shift while the image loads.
Twitter / X Cards: Same Idea, Slightly Different Tags
X (formerly Twitter) has its own metadata namespace, twitter:card, twitter:title, twitter:description, twitter:image, twitter:site, twitter:creator, but importantly, X falls back to OG tags when Twitter-specific ones are missing. So a page that ships only the OG tags still gets a card on X. Where the two differ is in the card type:
twitter:card=summary, small square thumbnail, title, description.twitter:card=summary_large_image, full-width image at the top of the card. The modern default for content sharing because it gets more visual attention in the feed.appandplayer, for app installs and inline video respectively.
Note: the standalone Twitter Card Validator preview at cards-dev.twitter.com/validator was removed by X on 2 August 2022. The current way to verify a card is to start a new tweet in the Tweet Composer, paste the URL, and let the preview render, you don't need to actually post the tweet. Some third-party tools (this one included) approximate the rendered card so you can iterate before going live.
Image Dimensions That Actually Work
There's no single perfect size, but a 1200×630 image (1.91:1 aspect ratio) is the most reliable single bet, it works everywhere without major cropping. Per-platform recommendations:
| Platform | Recommended size | Notes |
|---|---|---|
| 1200×630 (1.91:1) | Minimum 200×200; below 600×315 displays as a small thumbnail. | |
| 1200×627 minimum | 1.91:1 ratio, JPG/PNG/GIF, max 5 MB. | |
| X (summary_large_image) | 1200×675 (16:9) | Or 1200×600 (2:1), both render full-width. |
| Slack / Discord | Read OG tags directly | 1200×630 works well; subjects centred to survive aspect cropping. |
| Vertical (e.g. 1000×1500) | 2:3 ratio works best in the Pinterest feed. |
Keep important text and faces near the centre of the image, every platform crops differently and a logo in the corner can disappear behind the platform's UI overlays.
Why Your Card Sometimes Won't Show
If you've added OG tags but the preview is still broken or empty, the usual suspects:
- HTTPS required. Facebook and most modern platforms reject
http://image URLs. Serveog:imageover HTTPS. - Image not publicly accessible. Behind authentication, blocked by IP allowlist, or returning 403 to the platform's crawler. Test by opening the image URL in a private browser window.
- Image too small. Below the platform's minimum (Facebook 200×200, LinkedIn 1200×627), the card falls back to a small thumbnail or no image at all.
- Wrong aspect ratio. A 1:1 square image submitted as
summary_large_imageon X gets centred-cropped, often badly. - Cache. Social platforms cache your OG metadata aggressively. After fixing tags, visit Facebook's Sharing Debugger and click "Scrape Again" to refresh; LinkedIn's Post Inspector does the same; X picks up changes the next time someone pastes the URL.
- Robots.txt blocks the social crawler. Make sure user agents like
facebookexternalhit,Twitterbot,LinkedInBot,Slackbotcan fetch your page and image. - Server returns non-2xx to the crawler. Check your server logs for the social-bot user agents.
- Relative image URLs.
og:imagemust be an absolute URL (https://yoursite.com/og.jpg), never/og.jpg.
The Cache Problem
Once a social platform scrapes your page, the metadata is cached for some period, community lore puts it around 7 days for Facebook and LinkedIn, though neither platform documents the exact TTL. Updating your OG tags doesn't refresh the cache automatically. To force a re-scrape, use the official tools: Facebook Sharing Debugger, LinkedIn Post Inspector. X picks up new metadata when the URL is next shared. Slack and Discord refresh their previews based on the OG tags at fetch time, so they update faster than Facebook.
Common og:type Values
The og:type tag tells the social platform what kind of object the page represents. Most pages are website (the default) or article; vertical-specific values let platforms render richer cards. From the spec:
website, default for general pages.article, blog posts, news. Pairs witharticle:published_time,article:author,article:section,article:tag.book, pairs withbook:author,book:isbn.profile, for user profile pages.video.movie/video.episode/video.tv_show/video.other, for video content.music.song/music.album/music.playlist/music.radio_station, for music.
Length Limits in Practice
No platform enforces a hard cap on title or description length, but every one truncates after a point:
- Title, keep it under ~60 characters to be safe across platforms; ~70 truncates on most. Critical message in the first 50.
- Description, under ~155–200 characters before truncation. Less on mobile (around 100). Front-load the key information.
- Image alt text, should be present (
og:image:alt) for screen readers and accessibility-conscious clients; under 100 characters.
JSON-LD vs Open Graph (They're Different Things)
A common confusion: JSON-LD structured data (using schema.org vocabularies) and Open Graph meta tags do different jobs. OG / Twitter Cards control social-share previews, what shows up when someone pastes your URL into Slack or Facebook. JSON-LD with schema.org helps Google parse your page for rich search results, recipe cards, product info, FAQ snippets in Google Search. Both are recommended, and they don't replace each other.
Common Mistakes
- Using a relative
og:imageURL. The spec requires an absolute URL. Relative paths are silently dropped. - Using a generic site logo for every page. The OG image is your card's hero, every page deserves a unique image, ideally tying into the page's content.
- Forgetting
og:image:widthandog:image:height. Some clients pre-allocate space and miss the image without these hints. - Missing the
summary_large_imagetwitter:card type. Without it, X defaults to the smaller summary card with a square thumbnail, often less engaging. - Putting key text in the corners of the image. Different platforms crop differently. Subjects and important text should be in the centre 80%.
- Updating tags but not refreshing the cache. Visit the official Sharing Debugger / Post Inspector after every change.
- Submitting an HTTP image URL. Most platforms reject non-HTTPS images; the card will appear without one.
- Using only
og:titleandog:description. Withoutog:imagethe card renders as a sparse text-only stub on most platforms.
Frequently Asked Questions
Why does my preview look different on different platforms?
Each platform renders the same OG metadata in its own way, different image crop ratios, different title sizes, different descriptions truncated at different points. This tool approximates each platform's card; the actual render in production may differ slightly. Always test the most important platforms (Facebook Sharing Debugger, LinkedIn Post Inspector, and Tweet Composer on X) before relying on a card.
My OG tags are correct but Facebook still shows the old preview. Why?
Facebook caches OG metadata aggressively, once it scrapes a URL, the result sticks for what's commonly reported as several days. To force a fresh scrape, paste the URL into the Facebook Sharing Debugger and click "Scrape Again." The same trick works for LinkedIn via Post Inspector.
Do I need both OG tags and Twitter Card tags?
Not strictly, X falls back to OG tags when Twitter-specific tags are missing. Where Twitter-specific tags help is in choosing the card type (twitter:card = summary_large_image) and in attributing the post (twitter:site, twitter:creator). For maximum control on X, include both sets; for minimum effort, ship clean OG tags and accept the default card type.
Is my data uploaded anywhere?
No. The preview is rendered entirely in your browser based on what you type into the form. There's no server fetch, no scraping of your real URL, no logging of your draft tags. The image URL you paste does load in the preview from its real source (because images are fetched by the browser to render them), but the OG tag values themselves never leave the page.
What's the simplest set of OG tags I can ship?
Four required tags plus og:description:
<meta property="og:title" content="Your Page Title" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://yoursite.com/page" />
<meta property="og:image" content="https://yoursite.com/og.jpg" />
<meta property="og:description" content="A short summary of the page." />
Add og:site_name, og:image:width, og:image:height, and og:image:alt for completeness. Add twitter:card = summary_large_image if you want X to use the full-width card.
How does Slack / Discord generate previews?
Both Slack and Discord read OG tags directly when a URL is pasted into a message. Slack uses an oEmbed precedence chain (oEmbed → OG → meta tags); Discord reads OG and a few proprietary tags including a theme-color meta tag that controls the coloured stripe down the left edge of the embed. Both refresh quickly compared to Facebook, usually on the next paste of the same URL after a tag update.
Related Tools
Meta Tag Generator
Generate SEO-optimized meta tags, Open Graph and Twitter Card tags for your website.
Robots.txt Generator
Build a robots.txt file with user-agent rules, allow/disallow paths, sitemaps, and crawl delays.
URL Slug Generator
Turn any text into a clean, URL-friendly slug. Handles accents, special characters, and more.