A Preview Tool That Uses Each Platform's Real Rules
Most preview tools draw one generic card. Links do not unfurl generically: X wants twitter:card, Facebook shrinks small images, Discord reads theme-color, iMessage ignores the description. This tool draws six cards from six rule sets, from one fetch.
What the Report Shows
Each platform reads a slightly different set of tags and falls back differently when one is missing, which is why a link can look right on Slack and broken on X. The previews use the real rules.
- Six previewsX reads twitter:card to choose a wide card or a square thumbnail and falls back to og:* for the text; Facebook and LinkedIn read og:* and shrink images under 600 pixels to a thumbnail; Discord adds a colour bar from theme-color; Slack prints the site name in bold; iMessage shows only the title and the image, or the touch icon when there is no image. Google's result is drawn alongside because it reads the title and meta description instead.
- Tags and fallbacksEvery og and twitter tag found, and what each platform falls back to when one is missing.
- The social imageThe fetched image's real dimensions, type and weight against the limits: 1200 by 630 and under a megabyte works everywhere; SVG works nowhere.
- The generatorWrites a correct set of tags from a form, with the same six previews redrawn as you type.
The Open Graph guide covers the rules and the cache refresh tools for when a fix does not show up.
How One URL Becomes Six Cards
Enter a URL and socialpreview.tools fetches the page once from this server, following redirects, and keeps the head. The og:image (and a twitter:image if it differs) is then downloaded once, up to 8 MB, to read its real format, pixel size and weight, because the tag can say 1200 by 630 while the file is a 300-pixel PNG. The head and the measurements come back to your browser, where the analysis runs: each card field is resolved the way the platforms resolve it (og:title, else the title element; twitter:image, else og:image; and so on), every fallback is recorded, and the findings are graded against the documented limits of X, Facebook, LinkedIn, Discord, Slack and iMessage. The previews are then drawn from the resolved values with each platform's layout rules: large card or thumbnail, cropped or not, description shown or hidden.
In paste mode no image is fetched; the previews still draw, using whatever absolute image URLs the tags contain, and the size checks are skipped. The generator uses the same preview code in the other direction: fill in the fields, watch the cards, copy the tags.
What a preview here cannot promise
The cards are faithful to the rules as documented and observed, but every platform changes its layout without notice and applies rules the tag alone cannot reveal: Facebook may show a text card for a brand-new URL until its crawler has fetched the image, LinkedIn may serve a cached card from last month, X may decline an image its own fetcher found too slow. The checker fetches live, so it shows what the page sends now, not what a platform cached earlier; the guide covers how to clear those caches. Pages that render their tags with JavaScript show as the server sent them, which is also what most platform crawlers see.
When a preview looks wrong
The contact page says what to send. The report page carries the URL in its address, so a report can be shared by copying the link.