Social Preview Generator
Paste any URL and see how it unfurls on Google, Twitter, Facebook, LinkedIn, Slack, and Discord — with Open Graph and Twitter Card validation.
Image probe
Raw metadata
What this tool does
Enter any public URL and we fetch the raw HTML server-side, parse the Open Graph and Twitter Card metadata, probe the declared image, and render six platform-accurate mockups so you can see exactly how the link will unfurl when shared.
What gets validated
- Open Graph: og:title, og:description, og:image, og:url, og:site_name, og:type.
- Twitter Cards: twitter:card, twitter:title, twitter:description, twitter:image.
- Image probe: reachability, MIME type, width × height, file size — flagged against each platform's recommended dimensions.
- Truncation warnings: per-platform character caps so you know what visitors will actually see.
How it works
The fetch is server-side and SSRF-safe — the URL is resolved to a public IP and dialed directly so private networks can't be reached. The resulting HTML is parsed, the og:image candidate is fetched (max 256KB) just to read its dimensions, and per-platform previews are built from the metadata. Reports are cached for two hours per URL.
Frequently asked questions
Does this run JavaScript on the page?
No. We analyze the raw HTML returned by the server, which is what social platforms see when their crawler visits your URL. If your og: tags are injected by client-side JavaScript, no platform will see them — and neither will we.
Why does the image preview sometimes show no dimensions?
We decode WebP, AVIF, and SVG with a content-type sniff but only PNG, JPEG, and GIF expose dimensions through Go's standard image library. For other formats we confirm the image was reachable but skip the size readout.
Are the platform mockups exact?
They're approximations — close enough for a designer or marketer to validate copy length, image cropping, and metadata coverage. The platforms themselves change their unfurl renderer often; treat these as guidance, not a pixel-perfect contract.
Is the data cached?
Yes. Results are cached for two hours per URL. Cache hits are clearly labeled.