Social Share Preview
Control the image, title, and description that appear when your short links are shared on Slack, WhatsApp, X, LinkedIn, Discord, Facebook, iMessage, and Bluesky.
What a Share Card Is
When someone posts a link, the receiving platform fetches it and builds a preview from the page's Open Graph tags. Without one, your link unfurls as a bare URL — no image, no context, nothing that says who it came from.
Worse than plain: with no image at all, the card downgrades to the small text-only format on most platforms, so the link takes up less space and carries less signal.
There are two ways to get a card. Generating one is the normal path. Uploading is for when you already have artwork.
Generating a Card
Go to Social Preview in the dashboard sidebar, choose Design a layout on the Share card tab, pick a layout, fill in the fields, and save.
The Layouts
| Layout | What it is | Use it when |
|---|---|---|
| Title card | Text on a solid background, with an optional logo | You have no artwork. The only layout that needs no image at all |
| Hero split | Copy on the left, image on the right — brand name, badge, title, description, and a call-to-action pill | You have a product shot and something to say about it |
| Image cover | Full-bleed image with the title overlaid on a scrim | You have a strong photograph and want it to carry the card |
Every layout takes a title — that is the one required field. Everything else (description, logo, colors, imagery, eyebrow text) is optional and varies by layout; the form shows you what the one you picked accepts.
Both image-based layouts degrade rather than break. If an image is missing or fails to fetch, Hero split gives the copy the full width and Image cover falls back to a solid background, so you get a plain card rather than a broken one.
Live Preview
The panel beside the form renders the actual card as you type, using your workspace's own domain so the preview matches what recipients will see.
Nothing is saved until you save. The preview is never cached.
The image is generated once, at save time, and stored. Scrapers are served a finished image.
This matters more than it sounds: Facebook's crawler gives up after a few seconds, and Bluesky bakes whatever it receives into the post permanently. Rendering on demand would mean some posts capture a timeout forever.
Your Brand Kit
Set your logo and colors once, on the Brand kit tab, and every layout picks them up. A card rendered from a title alone comes out on-brand, and the Launchpad page uses the same accent and background.
| Field | Where it applies |
|---|---|
| Logo | The logo slot in every layout that has one. A transparent PNG works best on colored backgrounds |
| Accent | The accent slot in every layout; the buttons and links on the Launchpad page |
| Background | The background slot in layouts that have one (and the fallback background of Image cover); the Launchpad page background |
| Text | The text color slot in layouts that have one |
The kit supplies defaults, one level above the layout's own: when you pick a layout, its fields open already filled from the kit, and anything you type on a single card wins. Leave a field empty on the kit and the layout's own default applies, exactly as before.
The preview beside the kit is a real card rendered from your workspace name and the unsaved kit — switch it between layouts to see each one.
A card is rendered when you save it. Changing the brand kit applies to cards you render from then on and to the Launchpad page immediately; a card you saved earlier keeps its image until you open it and save again.
Your Workspace Already Has One
New workspaces get a share card generated automatically — a Title card built from the workspace name, on a color derived from the workspace itself so it is stable and not identical to anyone else's. A workspace with a brand kit gets its own colors and logo instead.
So the usual first job is editing the card you already have, not creating one from nothing. Open the page and you will see it.
Uploading Your Own Image
If you have artwork already — a designed campaign asset, a brand banner — upload it instead.
- Recommended size: 1200 × 630 pixels, the standard Open Graph ratio
- Format: PNG or JPEG
- Maximum: 5 MB
A smaller thumbnail is produced automatically and is what most chat platforms receive, so unfurls stay fast.
A preview has one image. Choosing a layout replaces an uploaded image, and uploading replaces a generated card. The dashboard reopens the form in whichever mode you last saved, with your previous values intact.
Who Can Change It
| Action | Required role |
|---|---|
| View the page | Any signed-in member |
| Change the card, upload, or remove an image | Admin or above |
Workspace Default and Per-Template Cards
Cards are configured at two levels:
- Workspace default — one card, used by every link in the workspace.
- Per template — a card for links built from one specific template, for a campaign with its own branding.
Switch between them with the scope control at the top of the Share card tab. One workspace card covers everything you do not explicitly override.
How a Card Is Resolved
When a platform scrapes one of your short links, each field is resolved independently, first match wins:
- The link's own
og_title/og_description/og_image_url, set through the API withogTitle,ogDescription, andogImageUrlonPOST /api/links,PUT /api/links/:id, orPOST /api/sdk/v1/links - The template's card, if the link came from a template that has one
- The organization default card
- The link's title and description
Shared Linkas a last resort for the title
A link with og_image_url set ignores both the template card and the org default. If a specific link is not showing the card you configured, check whether it has its own OG fields — they win. Send null for a field on PUT /api/links/:id to clear it.
Link-level fields are the right tool for user-shared content: when your backend creates a link for a specific item, pass that item's title and image so the share unfurls as the item rather than as your workspace. The dashboard does not edit these fields; they are API-only.
Because each field resolves on its own, a link can take its title from one layer and its image from another.
Removing a Card
Remove image clears the image and keeps the title and description. To clear the preview entirely, empty the title field and save.
Checking a Card Before You Send It
Paste the link into Slack — it unfurls inline immediately, which is the fastest check. For the others:
- X / Twitter — Card Validator
- LinkedIn — Post Inspector
- Facebook — Sharing Debugger
If you see the old card, the platform cached it. Every validator above has a re-scrape option that forces a fresh fetch.
The free Social Share Preview tool renders the card for any public URL, LinkForty link or not. Useful for auditing your own site's pages, or for checking a link before you own it.
How It Works
Scraper Detection
The redirect server identifies known crawlers by User-Agent — facebookexternalhit, Twitterbot, LinkedInBot, Slackbot, Discordbot, TelegramBot, WhatsApp, PinterestBot, SkypeUriPreview, plus iMessage, Reddit, Bluesky, and Mastodon validators — and serves them an HTML page carrying the Open Graph and Twitter Card tags.
Human visitors are unaffected. They get the normal redirect and never see that page.
Image Delivery
Images live in S3-compatible object storage, and the OG tags point straight at the public URL. There is no round-trip through the application server on a scrape.
Caching
The link lookup and the preview configuration are both cached in Redis for five minutes, so scraper traffic does not reach the database on every request and the redirect path stays fast.
Self-Hosting
Share cards need S3-compatible object storage. Without it, generating a card returns a "storage is not configured" error and the dashboard says so plainly. Set:
AWS_BUCKET=your-bucket-name
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
See the Self-Hosting Guide and Environment Variables.
Related
- Creating Links — setting per-link OG fields
- Link Templates — what a per-template card attaches to
- Custom Domains — the domain your cards are served from