Social share preview
See the card a link will produce on Facebook, X and LinkedIn — before you post it.
Runs entirely in your browser. Nothing you paste is uploaded or stored.
Use the page source, not the inspector. Social crawlers do not run JavaScript, so tags added by a script exist for you and not for them.
Image should be at least 1200×630 and under 5 MB. Platforms cache aggressively — after changing a tag, re-scrape the URL in Facebook's Sharing Debugger or LinkedIn's Post Inspector, or the old card will keep appearing.
What this tool does
It reads the Open Graph and Twitter tags out of the HTML you paste, renders the card each platform will build from them, and lists what is missing or invalid.
The previews differ on purpose. Facebook shows a wide image with a grey caption bar and truncates the title near 88 characters. X shows either a large card or a small square one depending entirely on twitter:card. LinkedIn keeps the title bold and drops the description altogether. The same tags produce three noticeably different objects, and only one of them is usually the one you pictured.
The four failures worth checking every time
A relative image path. og:image must be an absolute URL with the protocol. A relative path works in your browser and is ignored by every crawler, which is why the card looks fine locally and arrives naked.
An SVG image. No platform supports it. The tag is present, the validator finds it, and the card has no image.
No twitter:card. Everything else is inherited from Open Graph, but the layout is not. Without summary_large_image your wide image gets a small square crop.
Tags added by JavaScript. Common in single-page apps and in some tag managers. The crawler fetches the HTML and never executes anything, so it sees whatever the server returned.
Before you post
Check the card first, then post. Platforms cache what they scrape, so a mistake discovered after posting stays visible on the shared link until the cache expires or you force a re-scrape — and by then the post has already had most of its reach.
Questions
Why does this ask for HTML instead of a URL?
Two reasons. A browser cannot fetch another site's page directly — the request is blocked by the same-origin policy. And even if it could, the rendered page is not what a social crawler sees: crawlers do not run JavaScript, so tags injected by a script exist for you and not for them. Pasting the source you get from View Source shows the truth.
I updated the tags and the old card still appears.
Every platform caches aggressively, often for days. Use Facebook's Sharing Debugger and LinkedIn's Post Inspector to force a re-scrape; on X the card refreshes on its own schedule. This is why checking before posting is worth a minute — after posting, the wrong card can outlive the campaign.
What size should the image be?
1200 by 630 pixels is the safe default, matching the 1.91:1 ratio all three platforms crop to. Stay under 5 MB, and use PNG or JPEG — SVG is not supported anywhere and produces a card with no image at all.
Do I need Twitter tags as well as Open Graph?
Only twitter:card. X reads Open Graph for the title, description and image, but without twitter:card set to summary_large_image it shows the small square layout even when a wide image exists.
What happens with no og:image?
You get a plain text link instead of a card. It is the single biggest difference in how a link looks in a feed, and the cheapest thing on this list to fix.