Link preview checker: Open Graph and Twitter card tags
See how your link will look when shared on WhatsApp, X, LinkedIn or Facebook: check the title, description, og:image and Twitter card tags, with fixes.
Online checkThe URL goes to our server (api.ethorns.com), which downloads that page's HTML, checks its preview image with a single HEAD request and keeps only the result for 5 minutes. To draw the previews, your browser then loads that image straight from the checked site.
How to use it
- Paste the full URL of the page you want to share.
- Press Check. The URL goes to our server, which reads the page's HTML the way WhatsApp or LinkedIn would.
- Look at the simulated previews, then fix each warning in your page's <head>.
What WhatsApp, Facebook, LinkedIn and X read from your page
When someone pastes your link in WhatsApp, Facebook, LinkedIn or X, the app builds a card from a few tags in your page's code: og:title, og:description, og:image and, for X, twitter:card. If they're missing, the link shows up bare or without a picture. Check before sending a promotion to your customer list, publishing a new product, or after moving your site to a new builder.
The result shows rough mock-ups of the four cards side by side, the list of warnings, and a table of every preview tag we found, so you can see exactly what each app will read.
A product page shared without its picture
Check https://tienda-ejemplo.co/producto/cafe-origen. The WhatsApp mock-up shows the title “Café de origen 500 g” and the description, but the image area says No image. The warnings explain why: “Missing og:image: the link is shared without a picture”, plus a milder note that there's no twitter:card tag, so X shows a small card.
The fix goes in the page's <head>: add <meta property="og:image" content="https://tienda-ejemplo.co/img/cafe-1200x630.jpg">, and <meta name="twitter:card" content="summary_large_image"> for the big image on X. Check again, and the og:image check row should show something like HTTP 200 · image/jpeg · 180.0 KB. Use a full address that starts with https://: we resolve relative paths to show you the image, but some apps don't.
Where the preview can differ from the real thing
The mock-ups are approximations: each app changes its layout from time to time, crops images its own way and keeps old previews in its cache for days. We read only HTML pages that answer 200, follow up to 5 redirects and read the first 1 MB of the page.
We don't run JavaScript, so tags that a script adds after the page loads aren't seen, and many apps don't see them either: put the tags in the HTML your server sends. Pages behind a login, or that block automated visitors, show no preview here and usually none in the apps.
FAQ
Why doesn't WhatsApp show my image?
The og:image must be an absolute https:// URL that loads without a login, and it should be light: large images are often skipped. A JPG or PNG of 1200×630 px under a few hundred KB is the safest choice.
I fixed my tags but the old preview still shows. Why?
Apps cache previews for days. Use Facebook's Sharing Debugger or LinkedIn's Post Inspector to refresh them. Here, results are cached for only 5 minutes.
Is the image shown the real one?
Yes: your browser loads the page's og:image straight from that site, as WhatsApp or Facebook would, without telling it which page you came from. Like any image on the web, that site can see your IP address. Our server also checks the image once and reports its type and size.
Why does my link show the wrong title?
Apps use `og:title` first and fall back to the page's `<title>`; X uses `twitter:title` before either. If you changed only one of them, the others still show the old text. And if the tags are right here but the app shows old text, it's the app's cache: see the question above about refreshing it.
Do I need both Open Graph and Twitter tags?
Mostly no. X falls back to `og:title`, `og:description` and `og:image` when its own tags are missing. The one it really needs is `twitter:card` set to `summary_large_image`; without it, X shows a small card with a thumbnail.
More in this chapter
- 2.1What's my IP?See your public IP address, whether it's IPv4 or IPv6, your country, TLS and HTTP version, and what every website can learn from your connection.
- 2.2Email securityCheck a domain's SPF, DKIM, DMARC, MTA-STS, BIMI and DNSSEC, and get copy-ready DNS records for what's missing or wrong.
- 2.3SPF record builderBuild one SPF record for your domain from your mail services, servers and IP ranges.
- 2.4DNS lookupLook up any domain's DNS records (A, AAAA, CNAME, MX, TXT, NS, SOA, CAA, SRV) or the reverse DNS of an IP, with TTLs and DNSSEC validation.
- 2.5Email header analyzerPaste an email's raw headers to see the servers it passed through, the SPF, DKIM and DMARC results your provider recorded, and signs of a forged sender.
- 2.6DNS propagation checkerAsk 10 public resolvers (Google, Cloudflare, Quad9, OpenDNS…) for a name's A, AAAA, CNAME, MX, NS or TXT records and see if your DNS change reached them.
- 2.7DMARC report readerOpen a DMARC aggregate report (.xml, .xml.gz or .zip) and see, for each sending IP, how many messages passed or failed SPF and DKIM.
- 2.8Is it down?Check whether a website answers, with its HTTP status, response time, redirects and HTTPS, measured once from our server in Colombia.
- 2.9DMARC record generatorBuild a DMARC TXT record: policy, test mode, report addresses and alignment.
- 2.11Subnet calculatorType an IP address with its prefix to get the network, mask, broadcast, usable host range and count, and split it into equal subnets.
╌╌ END ╌╌