Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

There is no official character limit for og:description. The Open Graph specification calls it an optional but recommended property and describes it as “a one to two sentence description of your object.” Write a concise, self-contained summary, put the essential meaning first, and verify the rendered card on each platform you support.

What the Open Graph specification actually says

Open Graph does not define a numeric maximum for og:description. Treating 155, 160 or 200 characters as a protocol rule is incorrect. Those figures may be editorial heuristics or observations about a particular interface, but they are not an Open Graph requirement.

The specification’s guidance is sentence-based: “og:description – A one to two sentence description of your object.” That wording gives you a practical target without pretending that every consuming service displays the same number of characters.

The field is optional, but useful

The four basic Open Graph properties are og:title, og:type, og:image and og:url. og:description is optional and recommended rather than required by the protocol. Adding it gives a platform useful text for a share preview and gives readers context that may not fit in the page title.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why one universal number cannot work

The tag is an unrestricted string in the protocol, while each consuming platform decides how to fetch, cache, truncate or hide it. Card width, device, language, typography and the presence of an image all affect what a person sees. A value that looks complete in one preview can be shortened in another without your HTML being wrong.

How long should your description be?

Use one or two natural sentences. The first sentence should state the page’s value or answer its primary question. Add a second sentence only when it contributes information that helps someone decide whether to open the link.

A practical editing test

  • Lead with the payoff: Put the result, topic or action near the beginning.
  • Make it standalone: A reader should understand it without seeing the page title.
  • Write for shortening: If the platform removes the ending, the opening should still be meaningful.
  • Use normal prose: Avoid keyword lists, strings of labels and repetitive calls to action.
  • Match the page: The description, title and image should describe the same destination.

Example of a strong description

<meta property="og:description" content="Learn how Open Graph descriptions are sized, where platform previews differ, and how to validate the card after you publish." />

This example explains the page, remains understandable if shortened, and does not depend on a keyword list or an exact character target.

What to avoid

  • A fragment that only repeats the title.
  • A description whose critical qualification appears at the very end.
  • Claims, prices or dates that no longer match the page.
  • Markup or unescaped quotation marks that break the content attribute.

Adding og:description correctly

  1. Open the template that generates the page’s initial HTML document.
  2. Place the tag inside the document’s <head>, alongside the other Open Graph tags.
  3. Generate a page-specific value rather than using one description for every URL.
  4. Ensure the value is present in the HTML response that a crawler receives, not only after client-side JavaScript runs.
  5. Publish the change, then inspect the URL with the relevant platform debugger or inspector.

Minimal head example

<head>
  <meta property="og:title" content="Open Graph Description Length" />
  <meta property="og:type" content="article" />
  <meta property="og:url" content="https://example.com/og-description-length" />
  <meta property="og:image" content="https://example.com/images/og-description-length.png" />
  <meta property="og:description" content="Learn how Open Graph descriptions are sized, where platform previews differ, and how to validate the card after you publish." />
</head>

Use an absolute, canonical URL in og:url and keep the description specific to that URL. The description itself is text; do not place HTML markup in it.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Facebook, LinkedIn and other preview consumers

Facebook

Facebook’s Open Graph project points publishers to the Facebook Sharing Debugger, which lets you inspect what Facebook fetched for a URL after a change. Use it when a preview still shows an old description or appears to ignore a tag.

LinkedIn

LinkedIn’s official guidance requires og:title, og:image, og:description and og:url for shareable websites. Its help describes the description as the text shown in the preview, but the final rendering remains under LinkedIn’s control. Check the URL with LinkedIn’s Post Inspector after publishing or editing the tags.

Other services

Services such as Slack and other social clients may read Open Graph fields, apply their own display rules or cache an earlier fetch. A correct protocol implementation therefore does not guarantee identical cards everywhere. Test the destinations that matter to your audience.

Validation and cache troubleshooting

The card still shows the old wording

Use the platform’s official debugger or inspection workflow to force a fresh fetch and view the parsed tags. Then share the URL again. A stale card is often cached data, not proof that the new HTML is invalid.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The description is missing

  • Confirm that the property name is exactly og:description, including the colon and spelling.
  • View the raw initial response and search for the tag; do not rely only on a browser’s post-JavaScript DOM.
  • Check that the tag is inside <head> and that the content attribute is properly quoted.
  • Make sure a template has not emitted an empty value for this URL.

The wrong page description appears

Look for duplicate Open Graph tags from a theme, plugin or layout. Multiple competing values can produce platform-dependent results. Keep one authoritative set per page and make og:url match the canonical destination.

The text is cut off

Truncation is controlled by the consuming interface, so there is no protocol setting that prevents it. Rewrite the opening so it carries the essential promise before any likely cutoff. Do not pad or trim every description to an alleged universal limit.

Special characters display incorrectly

Escape characters that have meaning in HTML attributes, especially quotation marks and ampersands, according to your templating system. Inspect the fetched source to verify that the crawler receives the intended text.

How to choose between candidate descriptions

When two versions both fit the one-to-two-sentence guidance, compare them against five questions:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Does the first sentence state the page’s value?
  2. Does the opening remain useful if the ending is removed?
  3. Will the wording make sense on every platform you target?
  4. Does it agree with the title and image rather than promise something else?
  5. Is it present in the initial HTML response available to crawlers?

This framework is more dependable than counting characters because it evaluates the actual reasons a preview succeeds or fails.

Or skip the browser setup

If you want to inspect the finished page as a rendered card, ScreenshotNeo can capture the URL through one request. It is useful for checking the visual result after you validate the raw tags.

For the API parameters and response details, see the ScreenshotNeo documentation.

cURL

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com/og-description-length -o shot.webp

Python

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://example.com/og-description-length"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://example.com/og-description-length' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

ScreenshotNeo removes cookie-consent banners, newsletter popups and chat widgets before the capture. Bot checks, blank pages, failed loads and cache hits are not billed, and response headers identify the page verdict and billing result. Its MCP server provides take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients. Every plan includes the features; the Free plan provides 1,000 screenshots per month without a card, and paid plans start at $5 for 3,000 shots. Sign up free for ScreenshotNeo.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Performance, reliability and maintenance

Keep generation cheap and deterministic

Generate the description from the same canonical content used by the page, then apply a deliberate editorial fallback when no summary exists. Avoid assembling it from unrelated fields that can change order or expose internal labels. Stable text makes cached previews easier to recognize and refresh.

Check changes as part of publishing

Whenever you change a title, image, canonical URL or description, run the applicable debugger or inspector and verify the initial HTML response. Record the URL tested and the date so a later cache issue can be distinguished from a template regression.

International and device considerations

Translate descriptions with the page rather than concatenating translated fragments. Review the first sentence in each language because word order and length vary. Test both narrow and wide preview contexts when the platform offers them; the protocol itself does not define a display width.

Bottom line

og:description has no official character cap. Follow the Open Graph specification’s one-to-two-sentence guidance, put the key value first, emit the tag in the initial HTML head, and verify the real card with each platform’s inspection tool. Treat any exact character number as a local editorial choice or platform observation, never as a protocol rule.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Is a 160-character Open Graph description required?

No. The Open Graph protocol publishes no numeric maximum; 160 characters is only a possible editorial heuristic.

Can I rely on one preview tool to represent every platform?

No. Each service fetches and renders cards independently, so validate the platforms that matter to your readers.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.