Guide

Open Graph title and description length

Link cards live or die on og:title and og:description. Platforms truncate differently—by client, font, and layout—so treat character counts as soft guidance, not hard guarantees. Aim for a specific page title around ~60 characters and a description that still reads well around ~110–200 before truncation, then verify the live tags.

CardScope fetches the URL from the edge and rebuilds diagnostic shells from the tags it finds. It is not a pixel-perfect Facebook, X, or Discord UI. Use CardScope to confirm the live title and description; use each platform’s debugger or a fresh share when you need to refresh a cache.

Practical soft guidance

Platform notes (not hard guarantees)

Client Title / description notes Practical check
Facebook / Meta OG title + description; long strings truncate in the feed card Set specific tags, then rescrape — see Facebook guide
X (Twitter) Uses twitter:* when present; otherwise falls back to OG Mirror title/description if you care — see LinkedIn vs X
LinkedIn OG-first; snippet length varies with layout Specific og:title / og:description, stable permalink
Slack OG-first; title + short snippet beside the thumb Readable short title beats stuffing — see Slack vs Discord
Discord Large embeds often need twitter:card=summary_large_image; text from Twitter or OG Set OG + optional Twitter mirrors together
WhatsApp / Telegram OG title + description; chat UIs truncate aggressively Lead with the point — see WhatsApp / Telegram
iMessage Rich links lean on OG; missing title/image collapses the card Specific og:title + image — see iMessage

After you change title or description, live HTML can be correct while a client still shows an old card. Use the clear Open Graph cache workflow: fix → verify → rescrape where a tool exists. Pair text with a solid image size — see OG image size.

A minimal set

If you only set the title and description tags once for every network, set these:

<meta property="og:title" content="Specific page title, not brand alone">
<meta property="og:description" content="One clear sentence about what this page offers.">
<meta property="og:url" content="https://example.com/this-page">
<meta name="twitter:title" content="Specific page title, not brand alone">
<meta name="twitter:description" content="One clear sentence about what this page offers.">

Add og:image (absolute https://) and twitter:card=summary_large_image when you want large cards. Same foundation as the Facebook, LinkedIn vs X, Slack vs Discord, WhatsApp / Telegram, and iMessage guides — one solid OG set, then client-specific tools where they exist.

Checklist before you ship the copy

  1. Write a specific og:title (~60 characters soft target) with the page topic first.
  2. Write a clear og:description (~110–200 characters soft target) that still makes sense if truncated.
  3. Avoid empty or brand-only values — and do not duplicate the same keyword soup in both fields.
  4. Set stable og:url to the permalink you want shared.
  5. Optionally mirror with twitter:title and twitter:description for X / Discord.
  6. Verify with CardScope, then rescrape platform caches if an old title or snippet is stuck.

FAQ

How long should an Open Graph title be?

Treat ~60 characters as useful soft guidance for og:title. Platforms truncate differently by client, font, and layout. Put the specific page topic first; avoid stuffing keywords or repeating the brand alone.

How long should an Open Graph description be?

Descriptions are often useful around ~110–200 characters before many clients truncate. Lead with the value of the page. Empty, duplicate, or brand-only descriptions waste the card.

Do I need twitter:title and twitter:description?

They are optional mirrors. X and Discord often fall back to Open Graph when Twitter tags are missing. Setting both OG and Twitter title/description keeps large cards consistent when you care about those clients — details in the LinkedIn vs X and Slack vs Discord guides.

Should og:title match the HTML title tag?

Often yes in spirit: a specific page title, not a site-wide brand string. They do not have to be identical character-for-character. Prefer clarity for the share card over keyword stuffing.

Is CardScope free?

Three free checks per day per IP, no account. Pro is $19 once for unlimited checks. We parse HTML in memory and discard it — rate limits store a hash of your IP for 48 hours, not the page.

Check a URL on CardScope

Paste the permalink. You get reconstructed shells for the clients CardScope supports, the tag table, and a fix checklist — so you know the live og:title and og:description are right before you fight a platform cache. Three free checks per day per IP, no account. Pro is $19 once if you want unlimited checks. We parse HTML in memory and discard it — rate limits store a hash of your IP for 48 hours, not the page.

Try a URL