Link preview, AI visibility and app links checker
Check every share before it ships.
Paste a URL to preview its share card on Facebook, WhatsApp, X, Telegram, LinkedIn, iMessage, Discord, Slack, Messenger, Instagram, Snapchat and TikTok, see whether ChatGPT, Claude and Perplexity can read it, and check that it opens your iOS or Android app. Every report ends with copy-ready fixes.
How it works
Link previews are built by each platform's crawler, which downloads your page's raw HTML and reads its meta tags
without running JavaScript. This checker does the same: it fetches your page with the real crawler User-Agent,
follows redirects, parses og: and twitter: tags, downloads the preview image to measure
its dimensions and weight, and applies each platform's own rules for layout, fallbacks and limits.
The AI visibility check reads your robots.txt rules for each AI crawler, requests the page with each bot's User-Agent to catch blocks at your server or CDN, and shows the text AI tools get from your raw HTML.
The app links check reads your apple-app-site-association and assetlinks.json files, tests whether the exact URL opens your app, and compares them with the copies Apple's CDN and Google's Digital Asset Links service have cached, since those copies are what phones use.
Supported platforms
- FacebookFacebook builds link cards from Open Graph tags fetched by facebookexternalhit. The same cache is shared by Messenger and Instagram DMs.
- WhatsAppWhatsApp generates previews on the sender’s device from the og: tags, and is strict about image weight and format.
- X (Twitter)X reads twitter: tags first and falls back to Open Graph. X retired its official Card Validator preview, so you need another way to check cards.
- TelegramTelegram shows og:site_name as a coloured header, then the title, description and image.
- LinkedInLinkedIn shows the og:title, image and domain. Descriptions are no longer shown in the feed.
- iMessageiMessage fetches the page from the sender’s device and shows only the title, domain and image or icon.
- DiscordDiscord renders an embed coloured by theme-color, with the site name, title, description and image.
- SlackSlackbot unfurls links using the favicon, og:site_name, title, description and image.
- MessengerMessenger uses the Facebook crawler and cache, shown as a rounded chat card.
- InstagramInstagram only shows link cards in direct messages. Links in captions are not clickable.
- SnapchatSnapchat shows a compact card with a thumbnail, title and domain in chats and Snap attachments.
- TikTokTikTok shows minimal link previews, and only in DMs. Links in captions are plain text.
Use Sharelint from your AI assistant
Sharelint is a remote MCP server, so ChatGPT, Claude, Cursor, VS Code and other MCP clients can run its checks for you. Ask "why does my link show no image on WhatsApp?" or "can ChatGPT read my site?" and the assistant checks the live page and walks you through the fixes. No key or sign-up needed.
https://sharelint.com/api/mcp
Tools: check_link_preview, check_ai_visibility, check_app_links and check_url for a full audit.
- Claude and ChatGPT: add a custom connector (MCP server) in settings and paste the URL above.
- Claude Code:
claude mcp add --transport http sharelint https://sharelint.com/api/mcp - Cursor: in
~/.cursor/mcp.json, add{"mcpServers": {"sharelint": {"url": "https://sharelint.com/api/mcp"}}} - VS Code: in
.vscode/mcp.json, add{"servers": {"sharelint": {"type": "http", "url": "https://sharelint.com/api/mcp"}}}
API for CI, scripts and AI agents
Every check is available as plain HTTP, with no key needed. Ask for Markdown to get a report you can paste into a pull request or hand to an LLM.
curl "https://sharelint.com/api/preview?url=https://example.com&format=md"
See openapi.json for the schema and llms.txt for an LLM-ready summary of this site.
Frequently asked questions
Why does my link show no preview, or the wrong image?
Platforms build previews from the og:title, og:description and og:image tags in the raw HTML of your page. Their crawlers do not run JavaScript, so tags added by client-side code are invisible to them. The image must be an absolute URL, publicly reachable, and within each platform’s size and format limits.
Why does WhatsApp not show my og:image?
WhatsApp skips images that are too heavy (keep them under 300 KB, and never above about 600 KB), served over plain http, or in formats such as SVG or AVIF. Use a 1200×630 JPEG or PNG and an absolute https URL.
How do I refresh a cached preview?
Facebook, Messenger and Instagram: use the Facebook Sharing Debugger and click Scrape Again. LinkedIn: use Post Inspector. Telegram: send the link to @WebpageBot. X, WhatsApp, iMessage, Discord and Slack have no public refresh tool, so add a query string such as ?v=2 to make them treat it as a new URL.
What image size works on every platform?
A 1200×630 pixel JPEG or PNG under 300 KB, served from an absolute https URL, with og:image:width and og:image:height set. Keep important content in the centre, because square and small layouts crop the sides.
Can ChatGPT, Claude and Perplexity read my page?
The AI visibility check tells you. It reads your robots.txt rules for each AI crawler, requests the page with each bot’s User-Agent to catch CDN blocks, and shows the text they get from your raw HTML. AI crawlers do not run JavaScript, so a page rendered in the browser can look empty to them. Blocking training crawlers such as GPTBot does not remove you from AI answers; blocking search crawlers such as OAI-SearchBot does.
Can I use Sharelint from ChatGPT, Claude or Cursor?
Yes. Sharelint is a remote MCP server at https://sharelint.com/api/mcp, with no key needed. Add it as a custom connector in ChatGPT or Claude, or as an MCP server in Cursor, VS Code or Claude Code. Then ask your assistant to check a link’s preview, AI visibility or app links, and it runs the check on the live page and explains the fixes.
Why does my link open the browser instead of my app?
iOS opens a link in your app only when apple-app-site-association on your domain lists the path, and Android only when assetlinks.json verifies your app. Both files must return HTTP 200 as JSON with no redirects. iOS reads the copy on Apple’s CDN, which can lag a day behind your file, and Android verifies through Google’s Digital Asset Links service. The app links check tests all four, plus the exact URL you enter.
Can I check localhost or a staging site behind a login?
Not yet. The checker fetches pages from the public internet, like the real crawlers. Deploy a public preview URL, or use the browser extension when it ships.
Is there an API for scripts, CI and AI agents?
Yes. GET /api/preview?url=<url> returns JSON. Add format=md to get a Markdown report that is easy to paste into a pull request or hand to an LLM. See /llms.txt and /openapi.json.