Unfurl

When a chat app expands a pasted URL into a preview card with a title, blurb, and image instead of leaving a bare link.

when Slack turns a link into a cardthe link preview popping upunfurlingunfurl linklink expanding into a box in chatauto preview in Discordwhy my link expands into a picturerich link preview

See it

Live demo coming soon

What it is

Unfurling is what a chat app does after you paste a URL: it fetches the page with its own bot, reads the Open Graph and oEmbed metadata, and expands the bare link into a card with a title, blurb, favicon, and image. Slack coined the word, and it stuck across Discord, Teams, Telegram, iMessage, and X. The unfurl is your site's first impression in a place you do not control.

You influence it entirely through metadata. Open Graph tags cover the basics; oEmbed endpoints and Slack's own app unfurls let you return richer, interactive blocks for your own domain. Test with the real thing: paste the link into a private Slack channel or a DM to yourself, because every client crops and truncates differently.

The classic failure is a bot that cannot see your page. Unfurl scrapers do not run JavaScript, do not log in, and give up fast, so client-rendered metadata, auth-walled pages, aggressive bot blocking at the WAF, or a slow first byte all produce a naked blue link. Previews also cache hard per URL, so the wrong card can haunt you for days after you fix the tags.

Ask AI for it

Make links from this site unfurl correctly in Slack, Discord, and iMessage. Serve full Open Graph and Twitter Card metadata in the server-rendered HTML head (not injected client-side), use absolute https URLs for og:url and og:image, add a favicon and og:site_name, and confirm the pages return 200 to unauthenticated requests with no bot blocking on common preview user agents (Slackbot, Discordbot, Twitterbot, facebookexternalhit). Then show me how to force a re-scrape so cached previews update.

You might have meant

open graph tagsopen graph imagex twitter card tagscrawling